首页 > 其他分享 >读书笔记-只读变量与字面量常量的区别

读书笔记-只读变量与字面量常量的区别

时间:2023-01-07 09:55:14浏览次数:34  
标签:const 常量 只读 int 读书笔记 表达式 变量 字面

在 C 语言中,使用 const 关键字修饰的变量定义语句,表示对于这些变量,我们无法在后续的程序中修改其对应或指针指向的值。因此,我们更倾向于称它们为“只读变量”,而非常量。

只读变量与字面量常量的一个最重要的不同点是,使用 const 修饰的只读变量不具有“常量表达式”的属性,因此无法用来表示定长数组大小,或使用在 case 语句中。常量表达式本身会在程序编译时被求值,而只读变量的值只能够在程序实际运行时才被得知。并且,编译器通常不会对只读变量进行内联处理,因此其求值不符合常量表达式的特征。

误用只读变量和常量会导致编译错误,下面这段代码展示了这类错误:

 

 1 #include <stdio.h>
 2 int main(void) {
 3   const int vx = 10;
 4   const int vy = 10;
 5   int arr[vx] = {1, 2, 3};  // [错误1] 使用非常量表达式定义定长数组;
 6   switch(vy) {
 7     case vx: {  // [错误2] 非常量表达式应用于 case 语句;
 8       printf("Value matched!");
 9       break;
10     }
11   }
12 }

 

标签:const,常量,只读,int,读书笔记,表达式,变量,字面
From: https://www.cnblogs.com/ben002/p/17032151.html

相关文章

  • 字面值常量
    整形字面值20默认十进制020以0作为前缀,八进制0x20以0x作为前缀,十六进制字符串常量"ABC"是一个字符串字面值令autoc="ABC",那么c是constchar*数据类型......
  • 曾国藩传读书笔记
    曾国藩传读书笔记01.读书摘抄曾国藩立志做圣人,最根本的方法就是写日记.首先,要用楷体去写,反映虔诚的心态.日记中规定的,一定要做到.其次,抓住生活......
  • 【读书笔记】如何回复审稿意见
    回复的基本结构感谢审稿人与编辑的审稿Wesincerelythankthehandlingeditorforcoordinatingthereviewofourmanuscript.Wealsothankthereviewersforth......
  • 前端万字面经——进阶篇
    此文为前端进阶篇前边已经出了基础篇​​基础篇链接点击跳转​​服务端编程/AjaxJSONP的缺点JSON只支持get,因为script标签只能使用get请求;JSONP需要后端配合返回指定格......
  • 【《硬件架构的艺术》读书笔记】09 电磁兼容性能设计指南(3)
    9.6.3微控制器级技术解决噪声问题的最佳途径在源头。9.6.3.1多时钟和接地去耦电容:1、容量应足够大以在转换时间内提供所需的电流。2、应足够小以使时钟频率小于电容......
  • sharepoint 网站锁定或只读
    当sharepoint备份到一半突然关掉或备份不成功时,有时网站停止在锁定或只读状态,这时需执行下面命令。1Set-SPSite-Identity"http://sp2016-test002"-LockState"Unlock"......
  • 声纹识别的评价指标(读书笔记)
    目录1.余弦相似度(cosinesimilarity)2.欧式距离(Euclideandistance)3.神经网络对于声纹识别技术,需要有统一的指标来衡量这些系统之间的优劣。声纹识别领域中通常使用等错......
  • 【《硬件架构的艺术》读书笔记】09 电磁兼容性能设计指南(2)
    这一节就大致浏览一下,不细看了。9.6减少EMC/EMI的技术三个方法:1、在源头抑制发射。2、耦合路径尽可能低效。3、受体几乎不受发射影响。9.6.1系统级技术9.6.1.1展频......
  • 12月份读书笔记1
    对于程序员修炼之道的阅读与感悟出了问题后,要提出各种解决方案的选择,而不是找借口;不要说事情做不到,要说明接下来做什么来挽回局面;我们看到过整洁、运行良好的系统,一旦窗......
  • 12月读书笔记2
    学习与阅读《程序员修炼之道》,以下为我的感受与他人交流时,你需要了解你的听众:你想他们学到什么?他们对你讲的什么感兴趣?他们有多富有的经验?他们想要多少细节?你如何促使他们......