const 关键字 | C语言

const 的定义

任何变量的声明都可以使用const限定符限定。该限定符指定变量的值不能被修改。对数组而言,const限定符指定数组所有元素的值都不能被修改。

例如:

const double e = 2.71828182845905;
const char msg[] = "warning: ";

e = 3.14;       // 非法
msg[0] = 'a';   // 非法

const 也常用来修饰指针,表示指向区域的内容不能修改,例如:

int arr[10] = {0};
const int* p_arr = arr;

arr[0] = 1;         // 合法
p_arr[0] = 1;       // 非法

常量指针 与 指针常量

常量指针,表示变量是指针,指向常量,即指针指向的内存区域不可被修改。

int arr[10] = {0};
int arr_2[10] = {0};
const int* p_arr = arr;     // 声明常量指针

arr[0] = 1;         // 合法
p_arr[0] = 1;       // 非法
p_arr = arr_2;      // 合法

指针常量,表示变量是常量,变量本身的值不能被修改。

int arr[10] = {0};
int arr_2[10] = {0};
int * const  p_arr = arr;     // 声明指针常量

arr[0] = 1;         // 合法
p_arr[0] = 1;       // 合法
p_arr = arr_2;      // 非法

猜你喜欢

转载自blog.csdn.net/qw8880000/article/details/80198574