LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 782|回复: 5

关于指针

[复制链接]
发表于 2003-6-27 21:12:32 | 显示全部楼层 |阅读模式
对指针不太明白,请高手指教。
当一个指针被定义时:int *p;
这时候p的值是怎么给的,系统随机的或者是什么。这个值存放在什么地方,谢谢。
发表于 2003-6-27 21:37:25 | 显示全部楼层
发表于 2003-6-27 21:55:32 | 显示全部楼层
首先从整体看,不要被*迷惑,int声明的就是一个整型变量,所以 int *p与int a是一样的。*p与a一样使用。

再分开看,p为指针变量,保存(*p的)地址的变量,*为取指针所指变量(地址)内含值
的运算符,所以*p的意思是取出p中的值做为地址,再读出此地址中内容做为数据使用。

最后,使用*p时一定要注意先初始化,因为在声明int *p时,p的值是随机产生的,
也就是说p指向的地址是不定的。而p本身的地址与a的地址一样,是系统给出的,是安全的,是我们不用关心的。
发表于 2003-6-27 22:01:13 | 显示全部楼层
指针变量也是变量,它本身有确定的内存,但内容是不确定的,就像别的变量类型一样.

另外建议在申请指针的时候进行初始化设置为NULL,这样对程序的安全绝对有好处
 楼主| 发表于 2003-7-1 10:14:32 | 显示全部楼层

谢谢

真诚的 感谢
发表于 2003-7-2 17:14:36 | 显示全部楼层
可以认为指针是门牌

地址是房子

门牌开始时没有指向任何房子
所以往里面放东西会报异常

如果指向了正确的房子(就是你拥有的房子)
那么才可以放东西
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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