gpt4 book ai didi

c - C `*` 声明中的 `typedef struct` 是什么意思?

转载 作者:太空狗 更新时间:2023-10-29 17:10:04 24 4
gpt4 key购买 nike

我正在查看一个 C 结构,其中包含一些我以前从未见过的语法。结构如下所示:

typedef struct structExample {
int member1;
int member2
} * structNAME;

我知道通常具有以下结构:

typedef struct structExample {
int member1;
int member2
} structNAME;

我可以这样引用第二个结构定义的成员:

structNAME* tempStruct = malloc(sizeof(structNAME));
// (intitialize members)
tempstruct->member1;

第一个结构定义中的额外 * 有什么作用,我将如何引用第一个结构定义的成员?

最佳答案

表示定义的类型是指针类型。这是声明类型的等效方法:

struct structExample {
int member1;
int member2;
};
typedef struct structExample * structNAME;

你会像这样使用它:

structNAME mystruct = malloc (sizeof (struct structExample));
mystruct->member1 = 42;

关于c - C `*` 声明中的 `typedef struct` 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15616592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com