粽所周知:
指针可以修改一个const变量,
数组首地址也是一个const变量(指针)
重点来了!:
能不能用指针修改数组首地址呢?
说干就干
我试了试,没想到还可以。
代码如下:
#include<stdio.h>
int main(){
int a[5]{};
int b=10;
int **c=(int**)a;
*c=&b;
printf("%d",*a);
}
这个程序运行结果是 随机的!而不是0。
2号代码如下:
#include<stdio.h>
int main(){
int a[5]{};
int b=10;
int **c=(int**)a;
printf("%d",*a);
}
这个程序运行结果是0。
总结:
指针可以修改const及常量,但修改常量指针,再解引用的结果是不正确的。
所以尽量少修改常量指针。
希望在座的各位给我点个赞,这个文章也是我这个新手打了好久才打好的。
谢谢大家能看到最后,在下感激不尽。