指针常量与常量指针区别
int a = 10;
int b = 10;
指针常量 | 常量指针 | const既修饰指针又修饰常量 | |
---|---|---|---|
写法 | int * const p = &a | const int * p = &a | const int * const p = &a |
记法 | *(指针在前)const(常量在后) | const(常量在前)*(指针在后) | |
区别 | 修饰的是常量,指针的指向不可以改,指针指向的值可以改 | 修饰的是指针,指针的指向可以改,指针指向的值不可以改 | 指针的指向和指向的值都不能修改 |
eg | *p = 20(√) p=&b(×) | *p = 20(×) p = &b(√) |