定义一个引入一对变量的宏

时间:2012-07-03 13:58:35

标签: c macros

有人可以帮我解决以下问题吗?

  

定义一个具有以下原型的宏:

     

F(A, B, C, D)

     

将此宏用作F(name, float, a, b)后,您应该可以使用变量name.aname.b。确保您的实现是可重用的,即您可以在同一个块中多次使用F

     

此外,扩展它以便为变量添加预定义的前缀。也就是说,如果预定义的前缀是pt,那么在使用此宏之后,您应该可以使用   pt_name.apt_name.b

Citrix提问

1 个答案:

答案 0 :(得分:2)

下面:

#define F(name, type, var1, var2) struct {\
                                     type var1 ;\
                                     type var2 ;\
                                  } name

这应该有效。