逗号分隔的结构元素是什么意思? [关闭]

问题描述 投票:0回答:2

我有这样的struct

typedef struct stdHdrStruct {
  int isou,icd,irec_s,oset;
} StdHdr;

我不知道如何使用它。我从来没有遇到过那样的事情。我如何从中获取信息?例如,我想获取有关isou的信息。

c struct typedef
2个回答
3
投票

您的结构定义方式等效于

typedef struct stdHdrStruct {
  int isou;
  int icd;
  int irec_s;
  int oset;
} StdHdr;

您完全以与通常相同的方式访问字段,例如isou

StdHdr el; 
StdHdr *pEl = malloc( sizeof(*pEl) ); // Pointer to struct

el.isou = 5;
pEl->isou = 7;

如您所见,由于使用了typedef关键字,因此可以使用StdHdr别名代替完整的struct stdHdrStruct名称。


2
投票

typedef定义新的type,它不会创建变量。

换句话说,类似的语句>

 struct stdHdrStruct x;

与]相同>

StdHdr x;

现在,在两种情况下都可以使用相同的x。例如,如果要访问isou,则可以像

那样执行
 x.isou = 5;

在两种情况下。

© www.soinside.com 2019 - 2024. All rights reserved.