//****************************整型常量**************************
const int a=1;//必须赋初始值
int const b=2;//必须赋初始值;完全等价于 const int b=2;
//const int c; int const d;//错误;必须有初始值
//a=9+3; b=12;//不允许再进行赋值
//***********************常量指针*****************************
int s=12;
const int *iptr;//常量指针;可以不赋初始值
//const修饰的是int,而int定义的是一个整型值。因此*iptr所指向的对象的值不能通过*iptr来修改,但是可以重新给iptr来赋值,使其指向不同的对象
iptr=&a;
iptr=&b;
iptr=&s;
//*iptr=123;错误。
//常量指针与普通指针的区别只有一个,就是不能通过*ptr来间接地修改s的值。
//********************指针常量*********************
int* const ptr=&s;//指针常量(想想整型常量);必须赋初始值;且初始值赋&a后&b都是错误的
//const修饰的是ptr,ptr代表的是一个指针地址,因此不能赋给ptr其他的地址值,但可以修改ptr所指向的值
//ptr=&s;//指针不允许再赋值
*ptr=123;//成功。
//指针常量与整型常量的差别:可以通过*ptr来间接地修改s的值
令人头疼的const关键字
最新推荐文章于 2025-04-10 09:47:07 发布