[面经:备战寒假实习day2]const关键字
const的作用:被它修饰的值不能改变,是只读变量。必须在定义的时候就给他赋初值。
区分指针常量和常量指针
1、指针常量(顶层const)
指针常量是指定义了一个指针,这个指针的值只能在定义时初始化,其他地方不能改变。
指针常量强调的是指针的不可改变性。
形式: 数据类型 * const 指针变量=变量名
例:
int temp = 10; int temp1 = 12; int* const p = &temp; // 更改: p = &temp2; // 错误 *p = 9; // 正确
2、常量指针(底层const)
常量指针是指定义了一个指针,这个指针指向一个只读的对象,不能通过常量指针来改变这个对象的值。
常量指针强调的是指针对其所指对象的不可改变性。
形式:
(1)const 数据类型 *指针变量 = 变量名
(2)数据类型 const *指针变量 = 变量名
例:
int temp = 10; const int* a = &temp; int const *a = &temp; // 更改: *a = 9; // 错误:只读对象 temp = 9; // 正确
将const关键字看做常量的意思,* 为指针。从左往右读,即可区分常量指针与指针常量。