点击(此处)折叠或打开
-
#include<stdio.h>
-
-
void fun(const int *p)
-
{
-
int **pp = &p;
-
**pp = 89;
-
}
-
-
int main(void)
-
{
-
//请注意,关键字const并不能把变量变成常量!!!在一个符号前加上const限定符
-
//仅仅表示这个符号不能被【赋值】也就是它的值对于这个符号来说是【只读的】
-
//但是这并不能防止通过程序内部甚至是外部的方法修改这个值
-
//const常用来限定函数的形参,这样改函数不能修改实参所指的数据(老实说还是可以.见fun函数),但是其他函数可以
-
-
const int limit = 10;
-
-
//表示 limit_p 指向的变量值不能被改变,但是 limit_p 指针本身的值可以改变
-
//它可以指向别的地方,然后解引用得到不同的值.
-
const int * limit_p = &limit;
-
int ** limit_pp;
-
int i = 30;
-
-
printf("now limit_p 指向 i,*limit_p = %d \n",*limit_p);
-
// *limit_p = 10;
-
-
limit_p = &limit;
-
limit_pp = &limit_p;
-
**limit_pp = 99;
-
-
// fun(&limit);
-
-
printf("通过二级指针,修改了 const int limit = 10:此时\nlimit = %d\n",limit);
-
-
return 0;
- }