OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8855|回复: 14

关于指针的问题!

[复制链接]

35

主题

193

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
476
金钱
476
注册时间
2015-12-27
在线时间
116 小时
发表于 2016-1-29 11:05:50 | 显示全部楼层 |阅读模式
1金钱
类似于这个程序

int a,*p;
a=100;
p=&a;

请问,我可以将P成为一个指向整型变量a的指针变量吗?

但是我在C与指针的书上,看的是P是一个指向整型变量a的指针啊?

指针变量是一个变量,其值是某个变量的地址,但是指针,就是地址啊,
还是说指针有的时候是,指针和指针变量的缩写啊?

最佳答案

查看完整内容[请看2#楼]

int *p; 的含义是定义一个变量(相当于分配了一个存储空间),这个变量(存储空间)里存的是一个指向某个整形变量的地址 int a; 的含义是定义一个变量(相当于分配了一个存储空间),这个变量(存储空间)里存的值是整形的值; p=&a; 不知道这样对您有没有帮助
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

54

主题

125

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
369
金钱
369
注册时间
2015-7-10
在线时间
17 小时
发表于 2016-1-29 11:05:51 | 显示全部楼层
int *p; 的含义是定义一个变量(相当于分配了一个存储空间),这个变量(存储空间)里存的是一个指向某个整形变量的地址

int a;   的含义是定义一个变量(相当于分配了一个存储空间),这个变量(存储空间)里存的值是整形的值;

p=&a;
不知道这样对您有没有帮助

QQ截图20160130170637.png
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
发表于 2016-1-29 11:24:03 | 显示全部楼层
指针变量就可以叫做指针。
不用纠结这个。

小小蜗牛
回复

使用道具 举报

35

主题

193

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
476
金钱
476
注册时间
2015-12-27
在线时间
116 小时
 楼主| 发表于 2016-1-29 11:26:32 | 显示全部楼层
jiutianshenjian 发表于 2016-1-29 11:24
指针变量就可以叫做指针。
不用纠结这个。

我在谭浩强的书上看的是,指针变量是变量,指针是地址即常亮,而我现在看的是C与指针,统称为指针,所以就有点混淆了,谢谢啦
回复

使用道具 举报

9

主题

538

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3371
金钱
3371
注册时间
2015-1-7
在线时间
794 小时
发表于 2016-1-29 11:31:44 | 显示全部楼层
c与指针也是翻译过来得,难免有名词定义不一样的地方,一般会把指针变量简称为指针,也有人会把地址叫成指针。
你能理解指针变量和地址的关系就好了,结合上下文和代码来看就好了
机器生汇编,汇编生B,B生C,C生万物.... 经过长期对C语言的研究,目前只有两个方面不懂:这也不懂,那也不懂
https://github.com/ianhom
回复

使用道具 举报

2

主题

3

帖子

0

精华

新手入门

积分
24
金钱
24
注册时间
2016-1-22
在线时间
2 小时
发表于 2016-1-29 11:35:36 | 显示全部楼层
p是一个指针,它指向的类型是一个int型,所以它可以指向这个整形变量a。
回复

使用道具 举报

3

主题

794

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
1502
金钱
1502
注册时间
2015-3-3
在线时间
460 小时
发表于 2016-1-29 11:42:27 | 显示全部楼层
指针是指针,指针变量是指针变量。两者不一样
回复

使用道具 举报

35

主题

193

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
476
金钱
476
注册时间
2015-12-27
在线时间
116 小时
 楼主| 发表于 2016-1-29 11:52:59 | 显示全部楼层
ianhom 发表于 2016-1-29 11:31
c与指针也是翻译过来得,难免有名词定义不一样的地方,一般会把指针变量简称为指针,也有人会把地址叫成指 ...

明白了,指针在不同情形下可能是变量也可能是常量,对吧?
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
发表于 2016-1-29 14:06:08 | 显示全部楼层
本帖最后由 jiutianshenjian 于 2016-1-29 14:08 编辑

理解指针的用法,抓紧时间往前走,别横着走。
字符串就是指针常量。你可以赋值给一个指针变量。

有人说指针就是地址,指针变量是存放地址的变量。
这么说也没什么错,但是最好不要这样理解。
我觉得,地址就是内存编号,是死的。指针就是使用地址的一种方式,是活的。

我们定义了一个int *p;
非要说p是一个指针变量,不是指针。真是无聊透顶。
小小蜗牛
回复

使用道具 举报

7

主题

333

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1838
金钱
1838
注册时间
2012-7-16
在线时间
504 小时
发表于 2016-1-29 15:26:14 | 显示全部楼层
jiutianshenjian 发表于 2016-1-29 14:06
理解指针的用法,抓紧时间往前走,别横着走。
字符串就是指针常量。你可以赋值给一个指针变量。

了解指针是什么,什么情况下用,至于变量不变量的研究没有意义。难不成会因为这个而出现使用错误的情况吗。
回复

使用道具 举报

18

主题

422

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1139
金钱
1139
注册时间
2014-5-24
在线时间
116 小时
发表于 2016-1-29 23:43:14 | 显示全部楼层
没有琢磨过这些字眼,我把它俩当作一个。
I See Fire.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.  只给方向,不妨碍思考
回复

使用道具 举报

35

主题

193

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
476
金钱
476
注册时间
2015-12-27
在线时间
116 小时
 楼主| 发表于 2016-1-29 23:55:11 | 显示全部楼层
emWin 发表于 2016-1-29 23:43
没有琢磨过这些字眼,我把它俩当作一个。

我觉得还是分开比较好吧

指针变量是变量,指针变量的值是指针,而指针是常量
回复

使用道具 举报

35

主题

193

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
476
金钱
476
注册时间
2015-12-27
在线时间
116 小时
 楼主| 发表于 2016-1-29 23:56:03 | 显示全部楼层
hyghyg1234 发表于 2016-1-29 15:26
了解指针是什么,什么情况下用,至于变量不变量的研究没有意义。难不成会因为这个而出现使用错误的情况吗 ...

我就是看了三天左右,确实我感觉是有点咬文嚼字,不过,我看谭浩强的书就是区分挺明确的
回复

使用道具 举报

10

主题

560

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1783
金钱
1783
注册时间
2014-6-27
在线时间
964 小时
发表于 2016-1-30 14:21:40 | 显示全部楼层
前面类型不同,后面叫指针或者指针变量或者或者地址或者内存地址都无妨,何必纠结呢,反正这个东西里面的值就是另外一个东西的地址,姑且叫指针最简单算了。
回复

使用道具 举报

35

主题

193

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
476
金钱
476
注册时间
2015-12-27
在线时间
116 小时
 楼主| 发表于 2016-1-30 17:19:17 | 显示全部楼层
吴海 发表于 2016-1-30 17:12
int *p; 的含义是定义一个变量(相当于分配了一个存储空间),这个变量(存储空间)里存的是一个指向某个整 ...

明白了,哈哈。谢谢了。我都已经发了个总结指针的帖子了,刚开始看的时候,很痛苦啊。谢谢你了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 02:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表