2 u012273301 u012273301 于 2016.03.25 20:44 提问

c语言中,一个已定义的指针变量被置空后是如何"记得"它以前所指向的变量的类型的?

如题,比如定义了一个整型的指针p指向整型变量a :
int *p = &a ;
然后将p置空:p = null;
这个时候指针p中所存放的数据即地址已经被清空了,但是再次http://ask.csdn.net/#使用p时还是只能
将其指向整型类型的变量,而不能指向其他类型的变量(比如字符型变量),那么p是
怎么"记得"它在被定义时候的类型的?它的值不是已经被清零了吗?
求大神解答!

5个回答

qq_26653095
qq_26653095   2016.03.25 21:06

它被定义为整型指针后就只能指向整型变量,因为地址的分配模式是不一样的,比如整型指针只有32位可以储存,它就无法指向一个地址长度为64位的变量

Hyj6846492
Hyj6846492   2016.03.25 23:16

只是值清空了,类型并不能改变。就像你定义一个整型变量,不管对它进行了什么操作,它始终只能存在整型常量。

Hyj6846492
Hyj6846492   2016.03.25 23:16

只是值清空了,类型并不能改变。就像你定义一个整型变量,不管对它进行了什么操作,它始终只能存在整型常量。

CSDNXIAOD
CSDNXIAOD   2016.03.30 11:25

C 语言中返回一个指向自动变量的指针存在的问题
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

q610098308
q610098308   2016.04.25 23:14

1.你名声是 int 指针,永远是;不会变
2.p = null,只是把地址批和null; 不影响类型;类似于,你把一个硬盘的东西清空了,它还是硬盘,不会变成内存,cpu,它的属性不会变化;

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!