常量表达式概念与用处的关系_常量和变量有什么异同点

常量表达式概念与用处的关系_常量和变量有什么异同点1)什么叫常量表达式?        在编译期间进行求值的表达式。    1、字面值常量是常量表达式;如123,‘a’,3.14等    2、用常量表达式初始化的const对象也是常量表达式。如intconsta=5;语句中a就是常量表达式2)什么地方会用到常量表达式?        就目前所知道的有三个,后面如果发现再新增。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1)什么叫常量表达式?

        在编译期间进行求值的表达式。

        1、字面值常量是常量表达式;
如123,‘a’,3.14等
        2、跟字面值常量相关的一些表达式;
如123+3.14,2<<2等
        3、在
C++中用常量表达式初始化的const对象也是常量表达式,并且也是C++推荐的使用方式,而C语言不是。
如int const a=5;语句中a就是常量表达式

2)什么地方会用到常量表达式?

        就目前所知道的有三个,后面如果发现再新增。
        1、静态存储变量需用常量表达式初始化;
             
ps:C语言静态变量初始化中,可以把可执行文件想要初始化的值放在变量将会使用的位置,
当可执行文件载入到内存时,这个已经保存了正确初始值的位置将赋值给那个变量,因此必须使用常量表达式初始化。而C++中静态变量是动态分配的,即在程序运行时分配内存的,因此可以用变量对其进行初始化。
       
        2、case标签必须具有唯一的值,所以必须用常量表达式;
        
        3、定义一个数组,数组长度必须在编译时确定,必须为一个常量表达式

             
ps:为了便于维护,常使用#define为数值定义一个符号,如#define SIZE 50       int a[SIZE];
                      有些编译器允许声明动态数组,即用变量作为数组的长度,但此时不能对其进行初始化,即int a=5;int b[a];√   而int b[a]={1,2,3};×
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187792.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm中彻底删除一个工程的步骤_ios已购项目永久删除

    pycharm中彻底删除一个工程的步骤_ios已购项目永久删除第一步    File——>CloseProject找到要关闭的项目,点击×。第二步    找到该项目保存的路径,shift+del永久删除。

    2022年8月28日
  • Android SVN开发实战的文件夹结构呈现

    Android SVN开发实战的文件夹结构呈现

    2021年12月31日
  • Java笔记-使用Kaptcha验证码框架

    Java笔记-使用Kaptcha验证码框架使用Kaptcha这个验证码框架用起来,比自己写简单首先设置maven项目:<dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId>…

    2022年6月18日
  • netCMS学习笔记

    netCMS学习笔记二者关系:“netCMS”出自“风讯”,“netCMS”完全开源,有相关文档资料。“风讯”开源版删除了一些源码。学习内容:一、模板实现原理   标签   netCMS自定义了一系列标签,在模版页面中插入这些标签,在发布网页时类“NetCMS.Publish.Template”用正则表达示筛选出这些标签,然后从数据库表“NT_News”中读取相应的内容,将标签替换。   模版   模版引用的CSS,图片等路径,必需是绝对路径。   前台浏览方式   分“动态”和“静态”两种模式。   在“动态”

    2022年9月30日
  • 用vscode写博客和发布

    用vscode写博客和发布

    2021年9月14日
  • arm按键控制led灯闪烁(嵌入式按键实验报告)

    实验六键盘控制LED灯实验1实验目的(1)通过实验掌握中断式键盘控制与设计方法;(2)熟练编写S3C2410中断服务程序。2实验设备(1)S3C2410嵌入式开发板,JTAG仿真器。(2)软件:PC机操作系统WindowsXP,ADS1.2集成开发环境,仿真器驱动程序,超级终端通讯程序。3实验内容编写中断处理程序,处理一个键盘中断,并在串口打印中断及按键显示信息。4实验步骤(1)参照模板工程,新…

    2022年4月16日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号