const指针用法

const修饰符修饰变量时,具有只读的特点,不能被修改。

const int PI = 3.1415926  // 初始化常量,并且只能在初始化时赋初值,因为之后将不能修改

int a = 3, b = 9;

const int* p = &a;  // 常量指针,指针本身可以改变,但是指针指向的值不可以改变. const在int前,可以理解为const修饰变量,因此指针指向的变量不可修改
p = &b;  // 正确,
*p = 10; // 错误,指针指向的值为只读的,不可以修改

int * const p = &a;  // 指针常量,指针本身不可以改变,但是指针只指向的值可以改变. const在p前,可以理解为const修饰指针,因此指针本身不可修改
p = &b;  // 错误,指针本身是只读的,不可以修改
*p = 10;  // 正确

const int * const p = &a;  // const既出现在int前,又出现在p前,同时修饰指针和指针指向的变量,因此指针本身和指针指向的变量都不可以修改
p = &b;  // 错误
*p = 10;  // 错误
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务