C语言中常量或变量集中定义问题

例如:C语言中,MODBus通讯地址举例如下:
1#机温度 40101
2#机温度 40102
3#机温度 40103
......
1#机频率 40111
2#机频率 40112
3#机频率 40113

通讯表中地址在不同的项目中地址会发生调整,而对于地址的读、写操作分布在各个程序中,能否类似 #define 的用法或其他用法,在独立的一个文件中定义好常量(或者变量)对应的地址,在程序中仅对常量或变量进行操作,如果地址发生改变,只需要在独立通讯文件中修改对应地址即可,不需要在所有程序中一个个修改。

谢谢!

2个回答

将地址按不同项目定义成宏

用数组存就行了.如果修改,就改变数组的地址

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
c语言常量变量的概念
常量与变量的概念                                           常量 常量:在程序运行中,其数值不能被改变的量 常量分为两种 直接常量:在程序中直接引用的数据 整形  实型   字符型 字符串。 符号常量:在C语言中我们还可以用一个与常量相关的标识符来代替常量出现在程序中,这种相关的标识符称为符号常量。 是用标识符来表示一个数据,在程序中不能给它
C语言入门(4)——常量、变量与赋值
C语言入门(4)——常量、变量与赋值 对于基本数据类型量,按其取值是否可改变又分为常量和变量两种。在程序执行过程中,其值不发生改变的量称为常量,其值可变的量称为变量。它们可与数据类型结合起来分类。 常量常量有字符常量(CharacterConstant)、数字常量和枚举常量。枚举常量以后再介绍,现在我们看看如何使用字符常量和数字常量: #include#includeint main(void){
C语言中常量和变量
在C语言中,常量和变量都是可以用来存储和表示数据的,常量值在程序执行的过程中是不可变的,而变量是可变的 1,常量的概念 常量是不可变的量,C语言中数值可以用常量表示,常量可以表示各种数据类型的值 2,变量的概念 变量和常量是相对的,变量在程序执行过程中是可变的量,由变量名和变量值组成,变量名是一个标识,变量值是一个数据值,程序为每个变量开辟了存储空间,变量值就存储在这个空间当中,可以通过变量
C语言中的常量和变量
常量 生活中有些量的值是不变的比如 性别,π,血型这时候就需要用到常量 C语言中我们经常会遇见如下的几种形式的常const定义的常量 1.const   int   a=10; 但是这里的a实质上还是一个变量,只不过是给a赋予了常量的属性 所以不能 const   int   a=10;           int  arr[a]; //数组的大小不
学习笔记---C语言中全局变量,变量,常量的定义与使用
变量与常量的基础使用
C语言中的常量、变量及其属性,类型、存储空间
原文地址http://www.codertown.cn/blog/?p=134
C语言————常量 、变量、 表达式、 语句详谈
常量 常量(Constant)是程序中最基本的元素,有字符(Character)常量、 整数(Integer)常量、浮点数(Floating Point)常量和枚举常量。 下面看一个例子: printf("character: %c\n  integer: %d\n  floating point: %f\n", '}', 34, 3.14);        常量在程序加载内存的常量区
C语言之变量、常量(define\const)、变量的声明和定义
#include #include #include void main(){ int num = 10; int num1 = 20; int num2 = 30; //十进制,内存地址 printf("%d,%x",num,&num); printf("%d,%d", num1, num2); //打开提示窗口 MessageBoxA(0,"content","title",
C语言中的变量&命名规范
C语言中的变量            变量:顾名思义就是可以变化的量,他可以存任意类型的C语言中的数据。但是他跟常量最大的不同就是,变量可以任意修改!       变量的使用:只有一种方式:赋值的方式如:int a = 10; char c = 'a';   变量的使用注意:     变量左边申明什么类型,右边赋
C语言 常量、变量
在我们使用计算机的过程中,会接触到各种各样的数据,有文档数据、图片数据、视频数据,还有聊QQ时产生的文字数据、用迅雷下载的文件数据等。这讲我们就来介绍C语言中数据的处理。 一、数据的存储 1.数据类型 首先来看看计算机是怎么存储数据的。总的来说,计算机中存储的数据可以分为两种:静态数据和动态数据。 1> 静态数据 概念:静态数据是指一些永久性的数据,一般存储在硬盘中。硬盘的存
C语言中,定义一个布尔型变量如何用,为什么我用bool定义会报错?
C语言中并没有bool类型变量。这是C++中新增的系统类型。要在C语言中使用bool类型,可以使用自定义的方式。1 使用整型做bool类型。typedef int bool;或typedef unsigned char bool;只要是整型,都可以当做bool使用。2 使用枚举类型做bool类型。typedef enum{ false, true}bool;实际应用中,枚举类型较为普遍
关于C语言define定义常量的疑惑
在学习C语言变量时,一个简单的问题困惑我很久,先不多说,看代码和编译错误: 正确的方式 #include #define PRICE 30 void main(){ int num , total; num = 10; total = PRICE*num; printf("%d\n",total); } 输出的结果:300 写法1: #inc
C语言中的字符变量和字符常量
字符变量与字符常量定义   1.字符变量:char类型定义的变量   2.字符常量:一个字符常量代表ASCII字符集中的一个字符,在程序中用单引号把一个字符括起来作为字符常量 字符常量的表示形式   1.用字符的图形符号表示,如:‘a’,‘y’   2.直接用十进制的数据表示对应的ASCII码,如:char a=65  //65所对应的ASCII码是A   3.转义序列表示,即用字符的
C/C++文字常量与常变量
在C/C++编程时,经常遇到以下几个概念:常量、文字常量、符号常量、字面常量、常变量、字符串常量和字符常量,网上博客资料也是千篇千律,不尽相同,弄得大家云里雾里。本文将尝试为大家捋清楚以上易混淆概念的定义,关系和区别。
C语言中的常量、变量区分
常量一旦赋值就不能改变的标识符叫做常量。1)字面常量:比如 1、'w'、"abc"等都叫字面常量。2)#define定义的标识符常量3)枚举enum 常量变量 变量不用过多解释它分为局部变量、全局变量注意const定义的标识符不是常量,它只是给变量增加了常量的属性。...
C语言中如何定义全局变量
C语言中如何定义全局变量<br />C/C++2010-09-06 13:01:39阅读590评论0  字号:大中小 订阅<br />众所周知,全局变量在被定义后,系统会为全局变量分配内存并且它还可以被其他模块通过C语言中extern关键字调用。这样就必须在 xx.C 和xx.H 文件中定义。这种重复的定义很容易导致错误。 下面是只需用在头文件中定义一次就可以在别的模块使用的定义方法。<br />格式: 定义全局宏。<br /> <br />#ifdef   xxx_GLOBALS <br />#defin
C语言一维数组的定义
一维数组的定义方式    在C语言中使用数组必须先进行定义。一维数组的定义方式为:   类型说明符 数组名 [常量表达式];   其中,类型说明符是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符。方括号中的常量表达式表示数据元素的个数,也称为数组的长度。   对于数组类型说明应注意以下几点: 1) 数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类
C语言定义了一个结构体怎么分配内存?C\C++中结构体变量与结构体指针内存分配问题?
C语言定义了一个结构体怎么分配内存?C\C++中结构体变量与结构体指针内存分配问题?
常量与只读变量
常量,例如5, "abc",等,肯定是只读的,因为常量是被编译器放在内存中的只读区域,当然也就不能够去修改它。而“只读变量”则是在内存中开辟一个地方来存放它的值,只不过这个值由编译器限定不允许被修改。C语言关键字const就是用来限定一个变量不允许被改变的修饰符(Qualifier)。 为什么下面的例子在使用一个const变量来初始化数组,ANSI C的编译器会报告一个错误呢? const int
C语言--符号常量
在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。其特点是编译后写在代码区,不可寻址,不可更改,属于指令的一部分。 符号常量有以下几种方式定义: 一、#define 符号常量在使用之前必须先定义,其一般形式为: 形式为:#define 标识符 常量 eg: #define PI 3.14                   //没有分号 #define 是一条预处理命令(预处
C语言常量定义方法小结
之前一直只了解一种定义C语言中常量的方法,今天看书学到了第二种。其实,两种都需要掌握以下,否则指针部分的学习还真会有一点障碍。        两种定义方式:        1, const int a = 123;        2, int const a = 123;        上面两种其实都正确,但是第二种对我来说看起来确实是有些觉得不是很舒服,一直以来我都是使用第一种。写个测试
C语言中的静态变量和普通变量的区别
下面用代码说明: 一个可执行程序包括BSS段、数据段、代码段(文本段)。 bss segment ,data segment ,code/text segment ①BSS(Block by Start Symbol) :通常指用来存放程序中未初化的全局变量和静态变量的一块内存区域。BSS段属于静态内存分配。      特点是:可读写的,在程序执行之前BSS段为自动清零,所以未初始的全局变
c语言:常量,变量及其存储方式小结
在c语言中,数据有两种表现形式,按其值可分为:变量+常量 一:常量 常量的分类: 字面常量: 1 3.14 ‘w’ ‘\n’const定义的常量:在c语言中,const修饰一个标识符时,我们说这个标识符依然是一个变量,但是具有常属性,不能被直接改变。 #include int main(){ int num=0; const int c_num=0;
C语言中一些常量意思
废话不多说  ,直接进入主题; 常量是什么:常量是程序中其值不发生变化的量。 C语言中有这几种常量 数值常量,字符常量,字串符常量,符号常量:如下图    1.数值常量 a:整型常量 例如 int型:32 11 55 -23 -99...... long int型  235L ,25458L  -225L   .....    后面的L 可为小写 为了不与数字1弄混  这里不做
C语言中的常量指针和指针常量
关于常量指针和指针常量已经试着记过好几次了,平时用得也不多,老是记不住,两个总给搞混了,今天在华为面试又问到这个问题,真的应该把它整理清楚了。 定义 : const char* pa; 或 char const *pa;这样定义的pa称为常量指针,
C语言中字符串常量和字符常量的区别
例如 void main() { int c1='a'; } 在该函数中,‘a’属于字符常量 而“a”则属于字符串常量,在C语言中没有直接储存字符串的变量,一般是通过数组存储。 另外,对于字符常量的内存占一个字节,对于字符创常量则会占2个字节,因为字符串常量,系统会在末尾自动加一个结束标志服'\0'。
c语言中变量的存储位置
编写了一点代码,用来检测c语言中变量在内存中存储位置的检测,环境为minGW+codebloks+win7。先上代码:#include #include #include using namespace std; typedef struct Node { int data; Node*next; }Node; typedef struct Link_Table {
C语言常量与符号常量
在程序运行过程中,其值不能被改变的
C语言中const关键字的用法
关键字const用来定义常量,如果一个变量被const修饰,那么它的值就不能再被改变,我想一定有人有这样的疑问,C语言中不是有#define吗,干嘛还要用const呢,我想事物的存在一定有它自己的道理,所以说const的存在一定有它的合理性,与预编译指令相比,const修饰符有以下的优点: 1、预编译指令只是对值进行简单的替换,不能进行类型检查 2、可以保护被修饰的东西,防止意外修改,增强程序
C语言中变量的地址是一个常量
<br />程序一:<br />#include <stdio.h> int main(){ int a; int* b; b=&a; }<br /> 程序二:<br />#include <stdio.h> int main(){ int a[5]={1,2,3,4,5}; int b[5]; b=a; }<br />上面两段程序,同样是将一个指针的值赋给另一个指针类型,程序一没有错误,程序二却提示: invalid lvalue
C语言中整型常量的表达方式
在C语言中,整型常量可用以下三种形式表示:1. 十进制整数,即按日常接触的数字形式正常表达。如123、-120;2. 八进制整数,以0开头的数字进行表达。如0123表示八进制数123,即(123)8,其值为1*82+2*81+3*80,等于十进制数83。-011表示八进制数-11,即十进制数-9。3. 十六进制整数,以0x开头的数字进行表达。如0x123,代表十六进制数123,即(123)16,其...
C语言中定义常量的两种方式
http://www.cnblogs.com/jiajinghai/archive/2011/11/08/2241107.html 我们在用C编程时有时需要定义不变的变量,即常量,有两种方法。举例说明。 定义常量PI的两种方式: 1. #define Pi 3.1415926f; 2. const float pi 3.1415926f; 区别: 第一种方式:是
C语言中的静态变量和非静态变量
static作为C语言中的关键词,常用来修饰变量和函数。 static修饰的变量: 1.全局静态变量:在全局变量前面加上关键词static,全局变量就被定义成一个全局静态变量。 (1)内存中的位置:静态存储区。 (2)作用域:在程序任何地方都是可见的。 2.局部静态变量:在局部变量前面加上关键词static,局部变量就被定义成一个局部静态变量。 (1)内存中的位置:静态存储区。(全
C语言的整型常量与实型常量
一、整型常量
C语言变量的命名规则
先介绍一下8种数据类型char(1byte)字符型 short(2byte)短整型 long(4byte)长整型 int(4byte)整型 float(4byte)单精度浮点型 double(8byte)双精度浮点型signed(4byte)有符号 unsigned(4byte)无符号 后面两个与其说是数据类型,更多时候是修饰其他的数据类型(关于这两个后面再介绍吧)上面所占空间大小是在
C语言整形常量定义
在书中看到这样一道题目:用预处理指令#define声明一个常数,用以表明一年中有多少秒。书中给的答案是: #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 写一个小程序测试此宏定义,如下: #include #define SECONDS_PER_YEAR (60*60*24*365)UL int main() { pr
C语言代码和各种常量、变量在内存中的储存位置及内存优化
全局变量、静态局部变量保存在全局数据区,初始化的和未初始化的分别保存在一起; 普通局部变量保存在堆栈中; 全局变量和局部变量在内存里的区别?  一、预备知识—程序的内存分配  一个由c/C++编译的程序占用的内存分为以下几个部分  1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。  2、堆区(h
黑马程序员—C语言数据类型及不同类型常量表示方法
一、C语言中的数据类型 1.数据类型的分类 C语言中常用的数据类型从大的方面可以分为5大类,分别是:基本类型、构造类型、指针类型、空类型void和定义类型typedef。而具体到各大分类中又可以划分为一些小的分类,像在基本类型中,有短整型(short),整形(int),长整形(long),字符型(char),单精度实型(float)和双精度实型(double);在构造类型中又可细分出数组类型,
C语言中全局变量的定义及重复包含问题
C语言中全局变量的定义及重复包含问题          C语言中一般将全局变量intA的定义和初始化放在fileName .c或者其它 xx.c文件中,同时在与之对应的fileName.h文件中进行 extern int A声明。当一个全局变量int A仅在fileName.c文件中定义而未在相对应的头文件fileName.h声明时,包含与之相应的fileName.h文件时编译器会出现未定义的错
vba 宏头文件
vba 宏常量定义 可以在其他语言中直接使用这些变量而不用定义
一、Go语言的变量和常量
1.变量 变量是几乎所有编程语言中最基本的组成元素。从根本上说,变量相当于是对一块数据存储空间的命名,程序可以通过定义一个变量来申请一块数据存储空间,之后可以通过引用变量名来使用这块存储空间。 1.1 变量声明 对于纯粹的变量声明,Go语言引入关键字var,而类型信息放在变量名之后,形如: var variableName type var vname1, vname2, vname3 t
c语言中全局变量的初始化
c语言中局部变量可以用类型相符的任意表达式来初始化,而全局变量只能用常量表达式初始化,尤其对于全局变量来说,不能用一个数学函数或者其他的需要在运行时才能计算出结果的表达式进行初始化。 因为程序开始运行时要用适当的值来初始化全局变量,所以初始值必须保存在编译生成的可执行文件中,因此初始值在编译时就要计算出来,然而有些数学函数例如sin(3.14)的值必须在程序运行时调用sin函数才能得到,所以不能
c语言变量名规则
c语言变量名规则 在程序设计中,变量名、函数名、数组名等统称为标识 符。简单地说,标识符就是一个名字。除库函数的函数名由系统定义外,其余都由用户自定义。C语言规定,标识符只能由字母(a~z,A~Z)、数字 (0~9)、下划线(_)组成,并且标识符的第一个字符必须是字母或下划线,不能以数字开头。C语言不限制标识符的长度,但它受各种C语言编译器的限制, 同时也受到具体机器的限制。例
关于C语言中 字符串常量的问题
(Linux环境下),编译能够通过,但是运行的时候老是报段错误。我当时非常郁闷,因为代码不长。其中主函数中有这样一句话:    char *str="epmzm bpmzm qa eqtt bpmzm qa i eig"; 以后的代码对这个字符串进行操作(修改了其中的字符)。但是改成 char str[]="epmzm bpmzm qa eqtt bpmzm qa i eig";
c语言中字符串的定义与输出
C语言中没有专门的字符串变量,如果要将一个字符串存放在变量中,必须使用字符数组,即用一个字符型数组来存放一个字符串,数组中每一个元素存放一个字符。 定义: char c[10] 字符型与整型互相通用,因此 int c[10] 也可以定义字符数组。但由于两种类型分配字节不同, 用整型来定义会浪费空间, 另外这样定义实际意义也不大, 只是为了说明其合法性。  最简单的方法即逐个赋值: char 
C语言中指针变量使用时常见的几个问题
C语言是多数编程语言学习的基础,很多高校开设的软件相关专业都会涉及到C语言的学习。大学生刚刚迈进校园就开始接触C语言的学习,难免会举步维艰,尤其是当涉及到C语言中指针的时候,更是让一票新生头晕脑胀。其实,指针就是一种特殊的数据类型,直接指向目标的存储地址,实现直接访问对象存储空间的功能。今天,我就和大家分享一下C语言中指针学习会遇到的几个问题及解决方法,希望可以帮到大家! 1.声明指针和取指针变
关于C语言中自增和自减运算符的使用及注意事项
++是自增运算符,是单目运算符,其作用是使单个变量的值增1。它有两种使用情况: 1)前置:++i,先执行i=i+1,再使用i值; 2)后置:i++,先使用i值,再执行i=i+1。 例如: j=3; k=++j; 执行“k=++j”语句后,k=4,j=4。上述语句等效为: j=3; j=j+1; k=j; 再如: j=3; k=j++; 执行“k=j++”语句后,k=3,j=4
关于对于c语言全局变量初始化问题
1: 强弱符号学说: 在C语言里,全局变量如果不初始化的话,默认为0,也就是说在全局空间里:   int x =0; 跟 int x; 的效果看起来是一样的。但其实这里面的差别很大,强烈建议大家所有的全局变量都要初始化,他们的主要差别如下:   编译器在编译的时候针对这两种情况会产生两种符号放在目标文件的符号表中,对于初始化的,叫强符号,未初始化的,叫弱符号。   连接器在连接目标文件的时
c语言变量的初始化和赋值的区别
原理 顺着这个思路想了一下,为什么C语言的全局变量(global)就算不赋值会被自动初始化位默认值,但是局部变量(local)不会呢? 学习了一下C语言的内存布局结构,然后自己验证了一下然后明白了这个原因。 首先我们得知道C语言的内存布局结构,这篇文章 Memory layout of c program 讲的非常详细。这里列出我要用到的部分,首先看结构(图片来自这篇文章):
C语言中也有 临时定义变量
以前学习C语言的时候,只是知道 在C中,对变量的声明定义要放到函数的开头,即下面是不对的 int a = 10;a = 0;int b = 10; 上面是错误的。但在看《C专家编程》之后,才发现,声明定义不只是放在函数的开头,而是可以放在所有块的开头: 如: int a = 10; if (a != 9){      int b = 9;
相关热词 c#中dns类 c#合并的excel c# implicit c#怎么保留3个小数点 c# 串口通信、 网络调试助手c# c# 泛型比较大小 c#解压分卷问题 c#启动居中 c# 逻辑或运算符
立即提问