【C语言关键字】const -- 赋予变量只读属性

【C语言关键字】const -- 赋予变量只读属性,第1张

【C语言关键字】const -- 赋予变量只读属性

若能避开猛烈的狂喜,自然不会有悲痛来袭。
– 太宰治 《人间失格》

说明

const,源自单词 constant,有“恒定的;不变的”的意思,用它来修饰变量,赋予变量只读属性。
const 修饰的变量只能在定义的时候初始化,别的地方不允许改变它的值,但是请记住,它依然还是变量。

注意事项
  • 在一些单片机系统中,使用 const 修饰的变量(比较常见的是数组),其值是保存在 FLASH 中的,读取的时候直接从FLASH 中读取,不会占用内存(RAM)的空间,大大节省了内存的使用,尤其是一些固定数据的数组(某些表),节省内存的效果非常明显。
  • const 修饰函数的参数,是不希望外部函数改变该参数的值,如果函数内有修改的 *** 作,则会报错。
  • 如果给以“指针传递”方式的函数返回值加 const 修饰,那么函数返回值(即指针)的内容不能被修改,该返回值只能被赋给加 const 修饰的同类型指针。比如 const char * func(void),必须使用 const char *str = func();。不过这种方式比较少用,了解就好。
  • 在修饰指针时,先将类型名去掉,然后看 const 修饰的是谁,则谁是不允许改变的。
    比如 const int * p,看成 const *p,可以知道修饰的是 *p,也就是指针 p 指向的值,也就是 p 指向的值是不能修改的, 比如 *p = 2 这种 *** 作是不允许的。
    又比如 int * const p,看成 * const p,可以知道修饰的是 p,也就是 p 的值是不能修改的,p = 0xff是不允许的。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4752288.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-08
下一篇 2022-11-08

发表评论

登录后才能评论

评论列表(0条)

保存