A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

const int * p; int const *p ;哪一个是指针常量,哪一个是常量指针啊?,怎么区分的,新手求助啊

4 个回复

正序浏览
int a;
int * const p = &a    //指针常量,*p可以修改*p = 8;(OK)p不可以修改 p++(ERROR)                                                
int a,b;
const int *p = &a;//常量指针    *p不可修改 *p = 8;(ERROR)p 可以修改 p = &b  (OK)
                                                  
回复 使用道具 举报
学习了!
回复 使用道具 举报
补充:指针常量,从字面上的意思是,指针是个常量,它的地址是不可以修改的,但是指向的内存可以修改;而常量指针,就是指针指向的内存不能改变,本身地址能改变。
回复 使用道具 举报
指针常量是可以修改指针指向的值,例如 const int *p ,*p=10; 而int const *p ;*p=10,是无法赋值的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马