C语言之const
const修饰全局变量
此时全局变量只能使用但是不能修改,
如果直接拿全局变量修改值,编译直接报错
如果使用全局变量的地址修改值,运行时程序异常结束
const修饰普通局部变量
可以读取变量的值
不能直接通过变量进行修改值,编译报错
可以通过变量的地址修改值
const修饰指针变量
#include <stdio.h>void test1(void)
{int a = 100;int *p;p = &a;//改变*p的值有三种方式a = 200;printf("a=%d\n",*p);*p = 300;printf("a=%d\n",*p);int b = 400;p = &b;printf("a=%d\n",*p);
}int main()
{test1();return 0;
}
如果const修饰指针变量的类型,无法通过指针变量修改地址里面的值
如果const修饰指针变量,无法修改指针变量保存的地址
如果const既修饰指针变量的类型,又修饰指针变量,则只能通过原本变量修改值