1.20日学习笔记之CONST用法
场景1:修饰数组
const int a[]={1,2,3,4,5}; //整个数组为常量数组,不可以修改。
a[0]=10; //不允许
a[1]=11; //不允许
场景2:修饰常量指针(指向常量的指针,常量为形容词,指针为名词,这样看,常量指针本质是指针,常量修饰它,表示这个指针乃是一个指向常量的指针)
int a[]={1,2,3,4,5};
const int *p=a; //p指向数组的开始处
p[0]=10; //不允许,因为指针指向常量,所以不能通过指针修改
a[0]=10; //允许,但能通过数组本身修改,因为数组本身不是常量(特别注意)
场景3:修饰指针常量(指针是形容词,常量是名词。这回是以常量为中心的一个偏正结构短语。那么,指针常量的本质是一个常量,而用指针修饰它,那么说明这个常量的值应该是一个指针)
int a[]={1,2,3,4,5};
int * const p=a;
p[0]=10; //允许,数组非常量数组
p++; //不允许,p为常量,不允许修改
p=&a[3]; //不允许,p为常量,不允许修改

浙公网安备 33010602011771号