本文共 553 字,大约阅读时间需要 1 分钟。
语法一:#define 标识符 被标识符代表的字符串
语法二:#define 标识符[(参数1, ....., 参数n)] 被标识符代表的字符串 使用#define定义时,可以用斜杠("/")续行。#define add1(x, y) (x + y)也可以表示成:#define add1(x, y) /(x + y) 在“被标识符代表的字符串”中出现的形参将在使用时被实参替代,就象写函数一样。 #define BUFFER(x,y) *(pBuffer + y * cxBuffer + x)BUFFER(1,3) *(pBuffer + 3 * cxBuffer + 1) #define中的#与##在#define中,标准只定义了#和##两种操作。#用来把参数转换成字符串,##则用来连接两个前后两个参数,把它们变成一个字符串。#include <stdio.h>#define paster(n) printf("token "#n" = %d/n", token##n)int main(){ int token9 = 10; paster(9); return 0;}输出为:[leshy@leshy src]$ ./a.outtoken 9 = 10转载地址:http://yssli.baihongyu.com/