常量指针与指针常量
指针常量 是 int* const ptr。
先指针int* 后常量const,常量const修饰的是后边ptr(指针),所以p不可修改,*ptr无限制可以修改。
即,ptr = &b不可行,*ptr = b 可行。
#include <iostream>
int main(){int a = 10;int *const ptr = &a; // 指针常量 int * const 常量修饰的是指针 指针不能修改int b = 8;*ptr = 20; // 合法,修改指针所指向的值//ptr = &b; // 非法,修改指针的值return EXIT_SUCCESS;
}
常量指针 const int * p;
先常量 const ,后指针 int*,常量修饰的是 p(内容),所以p不可修改,p无限制可修改。
即*ptr = b不可行,ptr=&b可行。
#include <iostream>int main(){int a = 10;const int *ptr = &a; // 常量指针 const int * 常量修饰的内容 内筒不能修改int b = 8;ptr = &b; // 合法,修改指针的值//*ptr = 20; // 非法,修改指针所指向的值return EXIT_SUCCESS;
}