55问答网
所有问题
C++ 中关于指针的赋值疑问? *ip=0;//改变了什么 ip=0;//改变了什么
如题所述
举报该问题
推荐答案 2012-06-29
int i = 2; // i 初始化为2
int *ip = &i; // 当前ip指向变量i
*ip = 0; //这时改变的是所指对象的值,即i的值当前为0,i == 0
ip = 0; // 改变的是ip所指的地址,当前ip不指向任何对象。
追问
int *ip=&i; 是不是可以写成ip=&i; ?
追答
是的。
int *ip;
ip = &i;
和下面的一样:
int i;
i = 10;
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://55.wendadaohang.com/zd/cccRce4cc.html
其他回答
第1个回答 2012-06-29
例如
int a ;
int *pa;//定义整形指针
pa=&a //pa指向变量a在内存中的地址(位置,地址是一个编号)
*pa=0;//实际上就是*&a=0.当*&两个符号同时出现的时候,你可以认为没有,所以就是a=0.
而pa=0,表示的是指向内存中的地址编号为0的空间,实际是无效地址,
本回答被提问者和网友采纳
第2个回答 2012-06-29
ip=0最好写成NULL,是将此地址赋值为零,即不分配地址空间。*ip=0是真正的赋值语句
第3个回答 2012-06-29
*ip=0;//ip对应的地址改为0
ip=0;//给ip的赋值0
第4个回答 2012-06-29
ip指向的空间赋为0
相似回答
大家正在搜
相关问题
C++指针做函数形参的问题(p=0),什么意思?
C++传值参数的小问题
C++ 高手帮忙
求大神解答一下关于指针的一个问题
C++的指针有几种用法,引用有几种用法???
C++指针和引用之间的关系和性质
int a[10]; int *ip=&a; //为什么这种...
C语言,关于指针的赋值的一个小疑问