“`在C`typedef struct`声明中是什么意思?

前端之家收集整理的这篇文章主要介绍了“`在C`typedef struct`声明中是什么意思?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在看一个C结构,其中包含一些我以前从未见过的语法.结构如下所示:
  1. typedef struct structExample {
  2. int member1;
  3. int member2
  4. } * structNAME;

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

  1. typedef struct structExample {
  2. int member1;
  3. int member2
  4. } structNAME;

我可以通过以下方式引用第二个结构定义的成员:

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

第一个结构定义中的额外*是什么,以及如何引用第一个结构定义的成员?

解决方法

这意味着定义的类型是指针类型.这是声明类型的等效方法
  1. struct structExample {
  2. int member1;
  3. int member2;
  4. };
  5. typedef struct structExample * structNAME;

你会像这样使用它:

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

猜你在找的C&C++相关文章