C语言--符号常量

2023-10-27

在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。其特点是编译后写在代码区,不可寻址,不可更改,属于指令的一部分。

一、符号常量定义用#define:

符号常量在使用之前必须先定义,其一般形式为:

形式为:#define 标识符 常量

eg: #define PI 3.14                   //没有分号

#define 是一条预编译命令(预处理命令都以"#"开头),称为宏定义命令,在预编译时仅仅是进行字符替换。符号常量不占内存,只是一个临时符号,在预编译后这个符号就不存在了,故不能对符号常量赋以新值。习惯上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。

二、常变量定义const

形式为 :const type name = value;

eg:const int N= 12;

这样就可以在程序中使用N而不是12了。常量(如N)被初始化后,其值就被固定了,编译器将不允许再修改该常量的值。此外注意应在声明中对const进行初始化。这种形式叫常变量,分配有存储空间,但是其中的内容不允许改变。常变量具有符号常量的优点,而且使用方便,有了常变量以后,可以不必多使用符号常量。

三、enum

形式为:enum EnumName{标识符,标识符,...};

eg: enum money{ONE,TWO,FIVE=5,TEN=10};

枚举类型中的元素也是符号常量。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言--符号常量 的相关文章

  • enum枚举类型作为成员变量

    Enum是枚举类型 定义形式一 xff1a Enum 枚举类型名 枚举常量1 xff08 61 0 xff09 xff0c 枚举常量2 xff08 61 0 xff09 xff0c 枚举变量1 xff08 xff0c 枚举变量2 xff0c
  • dwm-1000 测距总是出现 #define SYS_STATUS_RXPTO 0x00200000UL /* Preamble detection timeout */

    ex 05b ds twr resp 程序 总是出现 致使官方的代码 无法实现通讯 define SYS STATUS RXPTO 0x00200000UL Preamble detection timeout 需要着重修改参数
  • printf和wprintf、printf输出结束标识符、c++按值返回临时对象是否是const的实验

    ifndef TEST H define TEST H include lt iostream gt include lt string gt using namespace std int x 61 5 struct s public s
  • C#中的readonly与const区别

    xfeff xfeff const 的概念就是一个包含不能修改的值的变量 常数表达式是在编译时可被完全计算的表达式 因此不能从一个变量中提取的值来初始化常量 如果 const int a 61 b 43 1 b是一个变量 xff0c 显然不
  • C语言中的关键字应用技巧(volatile、const、struct/union、_ _预定义_ _、#/##、void/void*、weak)

    嵌入式C开发关键字的应用技巧 1 volatile volatile修饰表示变量是易变的 xff0c 编译器中的优化器在用到这个变量时必须每次都小心地从内存中重新读取这个变量的值 xff0c 而不是使用保存在寄存器里的备份 xff0c 有效
  • C语言带参#define个人理解

    之前接触带参 define比较少 xff0c 这几天 查阅stm32官方固件库 xff0c 看到以下代码有点懵 xff1a define IS GPIO ALL PERIPH PERIPH PERIPH 61 61 GPIOA PERIPH
  • C 语言中 const 与指针的结合使用

    请区分一下几种指针的区别 1 const int p 2 int const p 3 int const p 4 const int const p 5 const int const p 解析 xff1a 1 const int p 中
  • cv::imread(cv::String const&, int)’未定义的引用

    在 Makefile文件的195 行 LIBRARIES 43 61 opencv core opencv highgui opencv imgproc 后面添加 xff1a opencv imgcodecs opencv videoio修
  • [C/C++] const 详解(修饰变量、输入参数、返回值、成员函数)

    看到const关键字 xff0c 程序员首先想到的可能是const 常量 const 更大的魅力是它可以修饰函数的参数 返回值 xff0c 甚至函数的定义体 const 是constant 的缩写 xff0c 恒定不变 的意思 被const
  • const

    面向对象是C 43 43 的重要特性 但是c 43 43 在c的基础上新增加的几点优化也是很耀眼的 就const直接可以取代c中的 define 以下几点很重要 学不好后果也也很严重 const 1 限定符声明变量只能被读 const in
  • 关于C++中的#define

    include lt iostream gt using namespace std define ADD x y x 43 y 试卷上是减号 xff0c 本人觉得是加号 int main int m 61 3 int n 61 4 m 4
  • ES6中const的使用

    const声明一个只读的常量 一旦声明 常量的值就不能改变 且const一旦声明变量 就必须立即初始化 不能留到以后赋值 const的作用域与let命令相同 只在声明所在的块级作用域内有效 const命令声明的常量也是不提升 同样存在暂时性
  • c++之const指针

    我们知道 const可以修饰一般的变量 这样的变量我们称之为常变量 常变量的值是不能修改的 const也可以修饰指针变量 可以指定指针变量是一个常量 或者指定指针变量指向的对象是一个常量 有以下几种情况 一 指向常量的指针变量 const
  • 对extern,static,const的再认识

    const const修饰的值为常量 是不可改变的 在c 语言中是不可改变的 而在C语言中 我们可以通过指针去修改那一片地址的值 const修饰的指针 表面指针指向或者指针的值是不可被修改的 我们可以通过通配符 的位置来判断 在左说明修饰的
  • java枚举的集中管理

    java枚举的集中管理 一 产品中遇到的实际情况 枚举类泛滥 这个 这个 这个 这个 在 JDK 1 5 之前没有枚举类型 那时候一般用接口常量来替代 而使用 Java 枚举类型 enum 可以更贴近地表示这种常量 但是在项目中 就变成这样
  • Java,Enum里定义属性和方法

    最近的项目用到了大神写的统一返回码的代码 ErrorCode java 统一6位 异常码 author Administrator public enum ErrorCode global OK 000000 操作成功 ERROR 0000
  • require js之define 函数

    require js define 函数 模块不同于传统的脚本文件 它良好地定义了一个作用域来避免全局名称空间污染 它可以显式地列出其依赖关系 并以函数 定义此模块的那个函数 参数的形式将这些依赖进行注入 而无需引用全局变量 Require
  • C++对于const重铸,在结构体中的const引用通过const_cast转换值

    include
  • 数字电路设计之verilog的define和parameter

    1 语法定义 parameter xx yy define xx yy 注 句尾无分号 2 作用范围 parameter 作用于声明的那个文件 define 从编译器读到这条指令开始到编译结束都有效 或者遇到 undef命令使之失效 后来我
  • VC++实用宏定义

    前言 在日常的编程工作中 常常定义一些实用的宏方便调用 该文章将收集一些常用的宏供大家参考 欢迎大家讨论和添加 指针释放 最常用的就是指针的安全释放 对应new的释放 ifndef ReleasePtr define ReleasePtr

随机推荐

  • 26.JavaWeb-SpringSecurity安全框架

    1 SpringSecurity安全框架 Spring Security是一个功能强大且灵活的安全框架 它专注于为Java应用程序提供身份验证 Authentication 授权 Authorization 和其他安全功能 Spring S
  • csv反序列化_序列化与反序列化

    toc 定义 序列化 将对象或数据结构转换成约定格式数据的过程 反序列化 将约定格式的数据转换成对象或数据结构的过程 通常我们将这种 约定格式的数据 称之为序列化协议 根据协议的特点序列化协议可以细分为文本序列化协议 以下简称文本协议 和二
  • 网线直连NUC调试并使用VSCode实现X11转发(Jetson,树莓派适用)

    1 场景描述 此种场景下 NUC与PC机通过一根网线进行连接 网线负责PC与NUC进行通信 SSH连接 同时可以将NUC的图形界面转发到PC 远程桌面或X11窗口转发均可 方便战队成员在没有显示器的场景下对NUC进行调试 配置示例如下图所示
  • springboot微服务前端传参数至后端的几个方式,@RequestBody如何传入多个参数@RequestParam

    一 问题 在接口测试工具中 常常要传入参数 初学者 也就是我菜鸡经常传错参数 不明白在Query还是Body里面传参 以及测试工具 AxxPoxx 测试下载接口的时候为什么发送数据成功却没有下载文档下来 后端参数传输方式 二 解决 quer
  • JNDI 资源

    第 6 章 JNDI 资源 Java 命名和目录接口 Java Naming and Directory Interface JNDI 是一种应用编程接口 application programming interface API 用于访问
  • "NO 3D support is available from the host"

    https forums opensuse org showthread php 494522 No 3d Support or graphics accelleration http askubuntu com questions 537
  • 【项目设计】高并发内存池 (四)[pagecache实现]

    C 学习历程 入门 博客主页 一起去看日落吗 持续分享博主的C 学习历程 博主的能力有限 出现错误希望大家不吝赐教 分享给大家一句我很喜欢的话 也许你现在做的事情 暂时看不到成果 但不要忘记 树 成长之前也要扎根 也要在漫长的时光 中沉淀养
  • 解决出现“raw.githubusercontent.com (raw.githubusercontent.com)

    服务器安装软件的时候出现 正在连接 raw githubusercontent com raw githubusercontent com 0 0 0 0 443 失败 拒绝连接 是因为改网址是被墙的 但是还是需要安装软件怎么办 打开多个地
  • 固态U盘量产:群联PS3111主控开卡量产工具使用教程

    PS3111开卡量产工具是一款专门用来进行量产的软件工具 下面将为大家提供使用教程 以帮助大家更加顺利地进行U盘量产 1 下载PS3111开卡量产工具 首先 需要在量产部落官网下载该工具并解压到电脑上 2 连接U盘 将需要进行量产的固态U盘
  • C++ opencv视频处理与保存

    1 视频属性类型 视频有很多的属性 有时长 分辨率 帧宽度 帧高度 帧速率等 视频属性中 由于国内互联网视频网站的定义 我们对分辨率的区分有些误区 所以这里重新介绍一下视频的分辨率 至于其他属性 一般不会有什么误区 分辨率 通常国际标准 我
  • 大语言模型高质量提示词最佳实践

    大语言模型高质量提示词最佳实践 一 提供更清晰的指令 使用大语言模型 类似ChatGPT Bard等工具 的过程中 一个关键的技巧是能够给出清晰和明确的指令 大语言模型的运作方式是根据提供的输入 预测接下来应该生成什么内容 因此 给出明确的
  • Vue的UI网页创建和引入Element组件

    第一步 新创建一个文件夹用来生成vue项目 第二步 进入这个文件夹 在路径栏输入CMD打开DOS窗口 第三步 打开cmd窗口 输入命令 vue ui 第四步 输入命令后运行 浏览器会自动打开vue ui 网页 第五步 点击仪表盘上方的文本框
  • Keepalived--05--脑裂问题

    一 问题 1 1 场景 高可用 在高可用 HA 系统中 当联系2个节点的 心跳线 断开时 本来为一整体 动作协调的HA系统 就分裂成为2个独立的个体 由于相互失去了联系 都以为是对方出了故障 两个节点上的HA软件像 裂脑人 一样 争抢 共享
  • 在TensorFlow中使用自定义数据集训练自己的模型

    在TensorFlow中使用自定义数据集训练自己的模型 写在前面的话 一 自定义数据集的目录结构 以今年电赛数字识别为例 二 在TensorFlow中读取数据集 2 1 纯手工打造 2 1 1 获取所有图片的路径 2 1 2 获取标签并转换
  • PCB结构和谐振(三)

    PCB结构和谐振 一 PCB结构和谐振 二 仿真研究 在本节中 我们首先对玻璃束的随机分布进行了简单的模拟研究 然后我们利用这些实验结论来简化常用的玻璃布3D结构 最后 这种简化的结构用于研究复杂层压板和两个周期性布局设计的谐振 玻璃束的随
  • git 连接gitee时报错 Auth error: Access deined: authorize failure. fatal: Could not read from remote repos

    这是个特别坑的错误 但是我找了很久 是可以当笑话看了 把ssh公钥添加好 并且进行remote远程库的连接 这两个是基本操作 网上有很多帖子都介绍的很详细 这里就不罗嗦了 说一下我这次的坑爹的情况 我从头到尾把步骤都仔仔细细排查了好几遍 结
  • Java集合排序方法comparable和comparator的总结

    Java集合排序方法的总结 接口comparable和接口comparator的比较 一 相关概念 Comparable和Comparator都是用来实现集合中元素的比较 排序的 一 Comparable Comparable是在集合内部定
  • 使用海伦公式求三角形面积C++

    include
  • openWRT的DTS文件配置--MT7620A

    原文地址 http blog chinaunix net uid 29616823 id 4390033 html 接上xx路由器的串口后有输出但无法输入 用示波器量下信号 可能是uboot里面把RX引脚给配置了 1 属性的定义采用prop
  • C语言--符号常量

    在C语言中 可以用一个标识符来表示一个常量 称之为符号常量 其特点是编译后写在代码区 不可寻址 不可更改 属于指令的一部分 一 符号常量定义用 define 符号常量在使用之前必须先定义 其一般形式为 形式为 define 标识符 常量 e