首页 > 其他 > 详细

const关键字

时间:2021-02-06 15:47:10      阅读:35      评论:0      收藏:0      [点我收藏+]

const关键字优先考虑修饰其左边的符号,左边没有符号才会修饰右边的符号。

const修饰变量
const int a = 1; 或者int const a = 1; 都可以,通常用前一种。声明时必须定义,定义后不能被修改。

const修饰指针
第一种
int * const p = &x; 把const放在*右边,const修饰指针,即指针声明时必须定义,定义后不能被修改。
第二种
const int * p; 或者int const * p; 都可以,通常用前一种。把const放在*左边,const修饰指针对指向的变量的作用,指针可以修改,指针可以读取指针指向的变量,不能用这个指针修改指针指向的变量,指针指向的变量可以用其他方式修改。一句话总结,指针对指针指向的变量是只读的。有人说它是常量指针,这并不准确,它应该叫只读指针。
const int * const p = &x; 这是前两种的叠加。

下面是对const修饰指针的测试。
技术分享图片
代码
技术分享图片
结果

const与define常量的对比
const定义的是变量,而define定义的是常量。
define定义的宏在编译后就不存在了,它不占用内存,因为它不是变量,系统只会给变量分配内存。但const定义的常变量本质上仍然是一个变量,具有变量的基本属性,有类型、占用存储单元。
可以说,常变量是有名字的不变量,而常量是没有名字的。

const关键字

原文:https://www.cnblogs.com/pigonthesea/p/14381565.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!