使用c调用结构中的联合成员
下面是我正在处理的一段代码使用c调用结构中的联合成员,c,struct,C,Struct,下面是我正在处理的一段代码 struct ArgusRecord { struct ArgusRecordHeader hdr; union { struct ArgusMarStruct mar; struct ArgusMarSupStruct sup; struct ArgusFarStruct far; struct ArgusEventStruct event; #if defined ARGUS_PLURI
struct ArgusRecord {
struct ArgusRecordHeader hdr;
union {
struct ArgusMarStruct mar;
struct ArgusMarSupStruct sup;
struct ArgusFarStruct far;
struct ArgusEventStruct event;
#if defined ARGUS_PLURIBUS
struct ArgusVflowStruct vflow;
#endif
} ar_un;
};
我已将变量定义为
struct ArgusRecord MyRecord;
我可以调用第一个成员MyRecord.hdr
,如果调用工会成员的方式相同,例如mar
,sup
。。etc我收到了错误消息。。。。。没有名为“mar”的成员
请找个人告诉我如何给工会成员打电话。你必须用
工会
名称ar\u un
MyRecord.ar_un.mar
您必须使用
union
namear\u un
MyRecord.ar_un.mar
使用点符号访问工会成员。 换句话说,
mar
必须按如下方式访问:
struct ArgusRecord record;
record.ar_un.mar (...)
使用点符号访问工会成员。 换句话说,
mar
必须按如下方式访问:
struct ArgusRecord record;
record.ar_un.mar (...)
以
MyRecord.ar\u un.的身份访问工会成员。
以MyRecord.ar\u un.的身份访问工会成员。