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为常量,不允许修改

posted @ 2025-02-07 19:49  小智001  阅读(37)  评论(0)    收藏  举报