C语言中宏名是否必须用大写字母表示?举个例子~

如题所述

第1个回答  2022-11-16

C语言中宏名不是必须用大写字母表示,习惯上宏名用大写字母表示,以便于与变量区别。但也允许用小写字母。 

宏定义表示数据类型,使书写方便。例如: #define STU struct stu在程序中可用STU作变量说明: STU body[5],*p;#define INTEGER int。

在程序中即可用INTEGER作整型变量说明: INTEGER a,b; 

应注意用宏定义表示数据类型和用typedef定义数据说明符的区别。

宏定义只是简单的字符串代换,是在预处理完成的,而typedef是在编译时处理的,它不是做简单的代换, 而是对类型说明符重新命名。被命名的标识符具有类型定义说明的功能。

扩展资料:

宏定义是由源程序中的宏定义命令完成的。

宏代换是由预处理程序自动完成的。在c语语中,“宏”分为有参数和无参数两种。

1、无参宏的宏名后不带参数。其定义的一般形式为: #define 标识符 字符串 其中的“#”表示这是一条预处理命令。凡是以“#”开头的均为预处理命令。

“definC语言允许宏带有参数。在宏定义中的参数称为形式参数, 在宏调用中的参数称为实际参数。对带参数的宏,在调用中,不仅要宏展开, 而且要用实参去代换形参。 

2、带参宏定义的一般形式为: #define 宏名(形参表) 字符串 在字符串中含有各个形参。

”e”为宏定义命令。 “标识符”为所定义的宏名。“字符串”可以是常数、表达式、格式串等。

参考资料来源:百度百科--宏定义

相似回答