c语言---const搭配指针问题
2017-06-25 15:39
302 查看
如果const在'*'左边,则表示指针指向的变量的值不可变; 保存的值不变。
如果const在'*'右边,则表示指针的值是不可变的; 即是地址不变。
void test()
{
int a = 10;
int b = 20;
int * const p1 = &a;
printf("p1=%d\n",*p1); //10
//int * const p1; p1 read only
//p1 = &a;
//p1 = &b; error
a = 100;
printf("p1=%d\n",*p1); //100
*p1 = 1000;
printf("p1=%d\n",*p1); //1000
int const *p2;
p2 = &b;
printf("p2=%d\n",*p2); //20
b = 200;
printf("p2=%d\n",*p2); //200
p2 = &a;
printf("p2=%d\n",*p2); //1000
//*p2 = 30; error
}
如果const在'*'右边,则表示指针的值是不可变的; 即是地址不变。
void test()
{
int a = 10;
int b = 20;
int * const p1 = &a;
printf("p1=%d\n",*p1); //10
//int * const p1; p1 read only
//p1 = &a;
//p1 = &b; error
a = 100;
printf("p1=%d\n",*p1); //100
*p1 = 1000;
printf("p1=%d\n",*p1); //1000
int const *p2;
p2 = &b;
printf("p2=%d\n",*p2); //20
b = 200;
printf("p2=%d\n",*p2); //200
p2 = &a;
printf("p2=%d\n",*p2); //1000
//*p2 = 30; error
}
相关文章推荐
- C语言的const关键字与指针搭配使用
- C语言的const关键字与指针搭配使用
- C语言的const关键字与指针搭配使用
- C语言的const关键字与指针搭配使用
- C语言野指针问题
- C语言 指针相关问题--调用函数实现空间动态申请
- c语言 函数 用指针传递参数 问题
- const与指针搭配使用总结
- C语言中关于指针,二维数组等的问题,一个有趣的发现
- C语言、指针的指针和野指针的问题
- c语言指针、数组问题(1)
- c语言指针问题
- C语言指针的一些问题
- C语言const与指针――为什么不能用char **给const char **赋值
- C语言研究性学习的路线之号外:一些朋友所提问题的反馈及第9章 指针
- C语言 指针要注意的一些细节问题
- C语言中一个指针传递问题的分析
- 关于C语言野指针的问题
- 关于const指针和指向const类型的指针的问题
- 关于const与指针搭配使用的一点记录