fun_c.c
//c语言的const修饰全局变量 默认是(外部链接的)
//外部链接:其他源文件 可以使用
const int num = 100;//只读的全局变量 内存放在文字常量区(内存空间只读)
main_c.c
#include
//对fun_c.c中的num进行声明(不要赋值)
extern const int num;
int main()
{
printf("num = %d\n",num);//ok 100
//num = 200;//err num只读
//C语言中const 修饰变量名 说明变量名为只读(用户不能通过变量名data进行赋值)
const int data = 100;//局部只读变量 内存在栈区(内存可读可写)
//data = 200;//err
printf("data = %d\n",data);//ok 100
//但是:如果知道data的地址 可以通过地址间接的修改data所对应空间的内容
int *p = (int *)&data;
*p = 2000;
printf("data = %d\n",data);//ok 2000
int b = 200;
const int a= b;
p = (int *)&a;
*p = 3000;
printf("*p = %d\n",*p);//ok 3000
printf("a = %d\n",a);//ok 3000
return 0;
}