【C语言】“define”是什么意思?代表什么?有什么用?

 我来答
豫就业
2013-07-05 · 出彩创就新时代就业先锋
豫就业
采纳数:14 获赞数:116

向TA提问 私信TA
展开全部
有的时候为了程序的通用性,可以使用#define预处理宏定义命令,它的具体作用,就是方便程序段的定义和修改。
举个例子吧,如果说你在做一个项目,这个项目的代码很长,有5000多行,而且基本上裏面的同一个常量N就占了3000多行,如果说今后你要是想对这个常量N的值进行修改,如果在程序的开始没有定义一个#define N,那么改起来不是很麻烦,3000多行啊,那不是要晕过去了~如果你事先定义了一个#define N ‘常量值’,那么当你要修改程序内部的常量值时,只要修改N后面的常量值就等于把程序内部的要修改的相同常量值都改了,那就很方便了
在程序执行期间其值可以改变的量称为变量,变量类型又分为系统变量和用户自定义变量,用户自定义变量其实和系统变量含义是一样的,在学到结构化编程的时候,你就会明白自定义变量的意思了。系统变量分为四种,int整形变量,用户存放整数的变量,占4个字节的大小;float单精度浮点型,就是存放小数点的数值,占4个字节大小;double高精度浮点型,相对float而言,double保畱的小数点位数更精确,占8个字节的大小;char字符变量,主要存放字母,占1个字节的大小。望采纳
童言dV
2020-01-28 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:30%
帮助的人:727万
展开全部
定义的意思,比如#define
size
5,这就定义了一个宏,size在程序中就等于5,这样更改一个大量使用的值很方便,如:int
a[size]就和int
a[5]一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hu0904
2013-07-05 · TA获得超过222个赞
知道小有建树答主
回答量:510
采纳率:0%
帮助的人:461万
展开全部
#define //是宏定义 可以参照宏定义 如果前面没有#或者其它不正确形式则没有确定意义。
//编译器在去掉注释后执行宏替换
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hiczb
2013-07-05 · TA获得超过226个赞
知道小有建树答主
回答量:133
采纳率:100%
帮助的人:182万
展开全部

你说的是#define吧

在国家标准GB/T 15272-94程序设计语言 C中

它有如下两个定义

宏替换

  1. 形式为"#define 标示符 替换表 新行"的预处理指示定义一个类似对象的宏,它使得后继的每一个该宏名的实例都被构成该指示余下部分预处理单词替换表所替换。

  2. 形式为"#define 标示符 左括号 任选的标示符表)替换表 新行"的预处理指示一个带形参的类似函数的宏,语法上类似于函数调用。形参由任选的标示符表说明,他们的作用域从标示符表中对它的声明扩展到直至终止该#define 预处理指示的新行字符为止。

这就意味着,它至少有两种用法

  1. (示例)#define AA BB (后加换行)意味着后继的每一个AA都被替换为BB

  2. (示例)#define AA(BB, CC) (BB)+(CC) (后加换行)意味着后继的每一个AA(BB, CC)都被替换成(BB) + (CC)这里的意思是AA(1, 2)替换为(1) + (2)

它的主要用途是简化书写,

下面举一个例子

#define A int
#define C(D, E) (D) + (E)
A test(A a, A b) 
{
    return C(a, b);
}

在经过编译器的预处理后,原问卷变为

int test(int a, int b)
{
    return (a) + (b);
}

这是一个完成两个int相加的函数。

日后若是要使他适应长整数的情形只需改变第一行

#define A long

需要把相加改为相乘,只需改变第二行

#define C(D,E) (D) * (E)

这样源文件在编译时,会被理解为

long test(long a, long b)
{
    return (a) * (b);
}

其中需要注意的地方是,这些宏替换都是在编译时确定的,运行时不能改变!

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式