练习3-3的解析什么意思?
解析说指针指向const修饰的变量时,应该用const int const *p=&a,但是const int *p和int const *p不是一个意思吗?不太懂解析
解析说指针指向const修饰的变量时,应该用const int const *p=&a,但是const int *p和int const *p不是一个意思吗?不太懂解析
2017-08-20
谢邀。
首先要明确const修饰变量的两种概念.
其一就是指向常量的指针,const int *p,顾名思义,指向常量的指针常量的值不能被修改。
其二就是常指针 ,int const *p ,这里的常指针修饰的时p这个指针变量的地址 ,也就是说p的地址不能在被修改
还有一种综合案例也就是指向常量的常指针const int const *p ,归根结底,这里的p仍然是一个指针变量,这里把整型变量a的地址赋值给指针变量p,是没有毛病的。
毛病出在哪? int const a; 在这 通过二级指针的思想,类比上面两种概念就可以知道,现在我们不能对a的地址进行操作,所以会报错。
如果想实现相应的功能应该怎么做?const int const *p=&a,对正如答案所给即可
举报