通过#define指令定义一个宏。 #defineNAME_OF_MACRO value 比如,以下代码定义了一个名为BUFFER_SIZE的宏,指代1024这个数字。 #defineBUFFER_SIZE1024 使用时, foo = (char *) malloc (BUFFER_SIZE); 使用预处理器编译: $ gcc -E test.c 编译结果: foo = (char *) malloc (1024); 多行 宏的定义是跟...
宏定义还可以用于定义数组操作的函数式宏(Function-like Macro),例如计算数组长度、遍历数组等。例如,定义一个宏来计算数组的长度: c #define ARRAY_LENGTH(array) (sizeof(array) / sizeof(array[0])) int main() { int numbers[] = {1, 2, 3, 4, 5}; int length = ARRAY_LENGTH(numbers); print...
#define DF(x) exp(-ATTENUATION*(x)) #define FUNC(x) (DF(x) * AMPLITUDE * cos(x)) // 震动衰减 // 针对函数输出: #define STR(s) #s #define XSTR(s) STR(s) // 将宏s展开,然后字符串化 int main() { double x = 0.0; printf( "\nFUNC(x) = %s\n", XSTR(FUNC(x)) ); ...
在C 语言中,可以采用命令 #define 来定义宏。该命令允许把一个名称指定成任何所需的文本,例如一个常量值或者一条语句。在定义了宏之后,无论宏名称出现在源代码的何处,预处理器都会把它用定义时指定的文本替换掉。 关于宏的一个常见应用就是,用它定义数值常量的名称: 复制#define ARRAY_SIZE 100 double data[...
,LOWERCASE('X'));Uppercase:x->XLowercase:X->xARRAY_SIZE 获取一个数组元素的个数#define ARRAY...
$gcc -E macro.c AI代码助手复制代码 宏的定义 通过#define 指令定义一个宏。 #defineNAME_OF_MACRO value AI代码助手复制代码 比如,以下代码定义了一个名为 BUFFER_SIZE 的宏,指代 1024 这个数字。 #defineBUFFER_SIZE 1024 AI代码助手复制代码 使用时, ...
$ gcc -E macro.c 宏的定义 通过 #define 指令定义⼀个宏。#define NAME_OF_MACRO value ⽐如,以下代码定义了⼀个名为 BUFFER_SIZE 的宏,指代 1024 这个数字。#define BUFFER_SIZE 1024 使⽤时,foo = (char *) malloc (BUFFER_SIZE);使⽤预处理器编译:$ gcc -E test.c 编译结果:foo =...
字面量 宏#define MACRO_STRING "string"#define MACRO_WSTRING L"wide string"#define MACRO_...
函数样式宏(Function-like macro)是一种类似于函数的宏定义,在使用时可以像函数一样进行调用。函数样式宏的语法和形式如下: #define宏名(参数列表) 替换列表 其中,宏名是宏的名称,参数列表是宏定义中的参数列表,用逗号分隔,替换列表是宏定义中的替换列表。使用函数样式宏时,需要提供参数列表中的实参,替换列表中的...
$ gcc -E macro.c 宏的定义 通过#define 指令定义一个宏。 #define NAME_OF_MACRO value 比如,以下代码定义了一个名为 BUFFER_SIZE 的宏,指代 1024 这个数字。 #define BUFFER_SIZE 1024 使用时, foo = (char *) malloc (BUFFER_SIZE); 使用预处理器编译: ...