面试之:谈谈对const的理解-创新互联
1.const修饰全局变量
分享名称:面试之:谈谈对const的理解-创新互联
本文路径:http://tyjierui.cn/article/sphse.html
#include#includeconst int val = 123; // 修饰全局变量
int foo()
{
// const int val=123;//修饰局部变量
#if 1
printf("a = %d\n", val);
val = 456;
printf("a = %d\n", val);
#else
// 试图通过指针修改值
int *p = &val;
*p = 456;
printf("a = %d\n", val);
#endif
return 0;
}
int main(int argc, char const *argv[])
{
foo();
printf("val:%d\n", val);
return 0;
}
![](/upload/otherpic39/5491963ccaf149ac83ee9b09ca3f0b96.jpg)
![](/upload/otherpic39/e154191baf1c4a2594c878b69c63bc8d.jpg)
结论:1.不能直接修改
2.不能通过指针修改
3.只能用不能改
2.const修饰局部变量![](/upload/otherpic39/df15f36e243949edbf6257293e717505.jpg)
![](/upload/otherpic39/2314027991304fda95ef8063f35712b6.jpg)
结论:1.不能直接修改
2.能通过指针修改
3.只能用不能改
3.const修饰指针变量①const *p形式:
![](/upload/otherpic39/17ceab0e463f414b8cb2abf9ae8bef0c.jpg)
![](/upload/otherpic39/c437f647acca4567924ebc61b84b2c44.jpg)
②*const p形式:
![](/upload/otherpic39/44757b5f0d704e6bbaa2a2fa6a9fcc10.jpg)
![](/upload/otherpic39/45ab98468a5e44d6980befc1351024d7.jpg)
③const * const p形式:
![](/upload/otherpic39/dbc42f0359b04734801e6d06c6ecffb6.jpg)
结论:星前不乱改,星后不乱指,const在*号前面,不能修改值(read-only),放在后面,不能指向别的地址,前后都有,则前面结论加一起。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
分享名称:面试之:谈谈对const的理解-创新互联
本文路径:http://tyjierui.cn/article/sphse.html