const关键字和指针
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了const关键字和指针相关的知识,希望对你有一定的参考价值。
const和指针相结合的四种情况
四种情况分别如下:
int cons *p p本身不是常量,p指向的地址的数据为常量
const int *p p本身不是常量,p指向的地址的数据为常量
int * const p p是常量,p指向的地址空间内不是常量
const int * const p p是常量,p指向的地址空间也是常量
总结:当const在*左边是,修饰的是p指向的地址的数据,当const在*右边是,修饰的p
当用const修饰一个变量时,在gcc下,依然可以通过指针修改变量的值
int main(void)
{
const int a = 5;
//a = 6; // error: assignment of read-only variable ‘a’
int *p;
p = (int *)&a; // 这里报警高可以通过强制类型转换来消除
*p = 6;
printf("a = %d.\n", a); // a = 6,结果证明const类型的变量被改了
return 0;
}
以上是关于const关键字和指针的主要内容,如果未能解决你的问题,请参考以下文章