今天看到一道笔试题
有以下表达式:int a = 248,b = 4;int const c = 21;const int *d = &a;int *const e = &b;int const *const f = &a;
好久没有做const转换的题了,都记不清规则了,我的第一回答是
const int *d = &a;是错误的,const 修饰的是指针d所指向的变量,所以应该赋值const int类型,int const *const f = &a;
当我用dev-c++敲出来运行时,上题完全没问题。
这就菜了吧
尝试了其他例子,发现了下面的规则
1.const指针可以指向const和非const数据。
2.非const指针不可以指向const数据。
const的核心思想:防止const 数据被通过指针被间接修改。
知识点不经常用真的就遗忘了,这木瓜脑袋