const关键字修饰指针变量;char a='A';const char *p=&a;char const *q=&a;1.*星前const:表示p可以改变,*p不可以改变,因为con...
const关键字修饰指针变量;
char a='A';
const char *p=&a;
char const *q=&a;
1.*星前const:表示p可以改变,*p不可以改变,因为const修饰*p;
char b='B';
p=&b;
这时可以编译,完全没问题,p可以改变,但是*p不可以改变;
如果再把*p='C';这时会报错;read-only只读;
但是b还是可以改变的;
b = 'C'//这样是完全可以的;
a='D'//这样也是完全可以的;
2.*后const;
char a = 'W';
char b;
char * const p=&a;
*p='X';这样是可以的;
p = &b;这样就不行了;
const char * const q = &a;
这样无论是*q还是q均不可改变;
修饰哪个哪个不可改变;
修饰*P那么*P不可改变;
修饰p,那么p不可改变;
学员评论