- 类型增强
1 类型检查更严格
int num=325;
const int* a=# // 情况1
int const *a=# // 情况2
int* const a=# // 情况3
const int* const a=# // 情况4
将数据类型去掉,可更直观地查看const修饰谁。
情形1:const * a
const修饰指针a所指向的变量,即指针a指向为常量,表示不能修改指针a所指向的内容;
但可通过修改num的值修改内容,或通过修改指针a所指向的变量修改内容;
该情形可以先不初始化,因为指针本身不是常量;
int num=325,n=1988;
const int* a=#
*a=1988; // 错误
num=1988; // 正确,通过修改num的值来修改a所指向的内容
a=&n; // 正确,通过修改a指向的变量来修改a所指向的内容
情形2:const * a
同情形1;
情形3:* const a
const修饰指针a,即指针a本身是常量,表示指针a不能指向其他内存空间;
该