用于缩短C中结构成员引用的宏

时间:2014-02-21 19:50:03

标签: c

以下虚构的C方言不起作用,因为C表达式不能是宏。

然而,有一种方法可以在C?

中实现这样的缩写参考
#include <stdio.h>
#include <string.h>

typedef struct{

    int connected;
}connection;

typedef struct{
    connection d[2];
}connections;

#define (c.d[i]) (c.d[i].connected)

main()
{

   connections c;
   if(c.d[x]){
       printf("sos");
   }
}

1 个答案:

答案 0 :(得分:2)

没有。宏名称必须是有效的C标识符(字母数字字符和下划线,不能以数字开头)。