c语言中define是什么意思

如题所述

1.
#define是宏定义的意思
2.
宏定义是用宏名来表示一个字符串,在宏展开时又以该字符串取代宏名,这只是一种简单的代换,字符串中可以含任何字符,可以是常数,也可以是表达式,预处理程序对它不作任何检查。如有错误,只能在编译已被宏展开后的源程序时发现。
3.宏定义不是说明或语句,在行末不必加分号,如加上分号则连分号也一起置换。
4.宏定义其作用域为宏定义命令起到源程序结束。如要终止其作用域可使用#undef命令。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-09
有的时候为了程序的通用性,可以使用#define预处理宏定义命令,它的具体作用,就是方便程序段的定义和修改。
举个例子吧,如果说你在做一个项目,这个项目的代码很长,有5000多行,而且基本上里面的同一个常量N就占了3000多行,如果说今后你要是想对这个常量N的值进行修改,如果在程序的开始没有定义一个#define
N,那么改起来不是很麻烦,3000多行啊,那不是要晕过去了~如果你事先定义了一个#define
N
‘常量值’,那么当你要修改程序内部的常量值时,只要修改N后面的常量值就等于把程序内部的要修改的相同常量值都改了,那就很方便了
在程序执行期间其值可以改变的量称为变量,变量类型又分为系统变量和用户自定义变量,用户自定义变量其实和系统变量含义是一样的,在学到结构化编程的时候,你就会明白自定义变量的意思了。系统变量分为四种,int整形变量,用户存放整数的变量,占4个字节的大小;float单精度浮点型,就是存放小数点的数值,占4个字节大小;double高精度浮点型,相对float而言,double保留的小数点位数更精确,占8个字节的大小;char字符变量,主要存放字母,占1个字节的大小
第2个回答  2020-01-20
举个例子吧,如果说你在做一个项目,这个项目的代码很长,有5000多行,而且基本上裏面的同一个常量N就占了3000多行,如果说今后你要是想对这个常量N的值进行修改,如果在程序的开始没有定义一个#define
N,那么改起来不是很麻烦,3000多行啊,那不是要晕过去了~如果你事先定义了一个#define
N
‘常量值’,那么当你要修改程序内部的常量值时,只要修改N后面的常量值就等于把程序内部的要修改的相同常量值都改了,那就很方便了.
在程序执行期间其值可以改变的量称为变量,变量类型又分为系统变量和用户自定义变量,用户自定义变量其实和系统变量含义是一样的,在学到结构化编程的时候,你就会明白自定义变量的意思了。系统变量分为四种,int整形变量,用户存放整数的变量,占4个字节的大小;float单精度浮点型,就是存放小数点的数值,占4个字节大小;double高精度浮点型,相对float而言,double保畱的小数点位数更精确,占8个字节的大小;char字符变量,主要存放字母,占1个字节的大小eg:“#define
n
10”C语言中这一句表示什么?
表示n=10,在以下的程序中你可用n来表示数字10.
这是一个宏定义,表示凡是在程序中出现的n变量,都被赋于值10。再纠正一下,在宏定义中,一般用大写。准确来说“#define
n
10”不是n=10的意思,
而是用10替换掉n,这是有区别的。
例如:#include
#define
N
a+b
void
main(){int
a=1,b=2;
printf
("%d",N*5);}输出的是11,而不是15。
又例如:
#include
#define
N
(a+b)
第3个回答  2020-01-01
举个例子吧,如果说你在做一个项目,这个项目的代码很长,有5000多行,而且基本上裏面的同一个常量N就占了3000多行,如果说今后你要是想对这个常量N的值进行修改,如果在程序的开始没有定义一个#define
N,那么改起来不是很麻烦,3000多行啊,那不是要晕过去了~如果你事先定义了一个#define
N
‘常量值’,那么当你要修改程序内部的常量值时,只要修改N后面的常量值就等于把程序内部的要修改的相同常量值都改了,那就很方便了.
在程序执行期间其值可以改变的量称为变量,变量类型又分为系统变量和用户自定义变量,用户自定义变量其实和系统变量含义是一样的,在学到结构化编程的时候,你就会明白自定义变量的意思了。系统变量分为四种,int整形变量,用户存放整数的变量,占4个字节的大小;float单精度浮点型,就是存放小数点的数值,占4个字节大小;double高精度浮点型,相对float而言,double保畱的小数点位数更精确,占8个字节的大小;char字符变量,主要存放字母,占1个字节的大小eg:“#define
n
10”C语言中这一句表示什么?
表示n=10,在以下的程序中你可用n来表示数字10.
这是一个宏定义,表示凡是在程序中出现的n变量,都被赋于值10。再纠正一下,在宏定义中,一般用大写。准确来说“#define
n
10”不是n=10的意思,
而是用10替换掉n,这是有区别的。
例如:#include
#define
N
a+b
void
main(){int
a=1,b=2;
printf
("%d",N*5);}输出的是11,而不是15。
又例如:
#include
#define
N
(a+b)
第4个回答  2019-06-10
define通俗地理解为直接替换,缺点是没有类型。例如#define
p
1+2
在函数中如果有p*3,实际的操作就是1+2*3=7
,而不是9,自己可以看看书
相似回答