C语言学习路上点滴之一

对预处理器运算符##的理解:

1 #define paste(front,back) front##back2 int main()3 {4char *name1,*name2;;,name2);7 }

##的作用是将两个形参front和back直接连接起来 ,即使front和back这两个是变量,在调用paste宏前都已经赋值,最后结果依然还是将”front”和”back”这两个字符串连接起来充当一个新的变量名.所以上面代码中paste(name,2)即代表name2的这个变量,因此上面代码等价于:

1 #define paste(front,back) front##back2 int main()3 {4char *name1,*name2;;,name2);7 }

最后打印结果为hello world;那么##啥时候能派上用场呢?

我想它主要用于:当只有在运行时才能确定要调用哪个变量或者函数时,就可以利用##来动态地构造要调用的变量或者函数名称.

,香港服务器,网站空间,网站空间一起吃早餐,午餐,晚餐。或许吃得不好,

C语言学习路上点滴之一

相关文章:

你感兴趣的文章:

标签云: