constt的本质是伪常量,无法用于数组初始化,以及全局变量初始化,原因在于const仅仅限定变量一旦初始化后无法在直接赋值(const 只是限定一个变量无法直接赋值,但是可以间接赋值)。但是还是有可能被意外修改,例如间接赋值,并不是完全只读,所以并非真正意义上的常量,例如把局部const常量放在栈区,而不是静态区(静态区会一直存在),也不知代码区禁止修改
#include<stdio.h>
#include<stdlib.h>
const int x=10;
//int y=x 编译不能通过,x不是常量
void main()
{
const int num=10;
const int *p=# //定义一个指针,指向一个常量,存储num的地址
int *pv=(int *)p;
*pv=11;
printf("%s=%d","num",num) ;
}