在C中实例化多个结构?

时间:2014-12-14 01:12:35

标签: c struct

100在C中的结构的以下定义中指定了什么?

struct node_type 
{ float data;
  int next;
} node[100];

我编写了以下代码来确定它是否为forcing a specific struct size,但事实并非如此(两者都返回了8字节的大小)。它是否定义了100个节点结构实例?如果是这样,它们存储在哪里/如何访问它们?谢谢!

#include <stdio.h>

struct node_type{
  float data;
  int next;
}node[100];

int main(){

  struct node_type node = {21.9, 2};

  printf("%ld\n", sizeof(node)); // 8
  printf("%ld\n", sizeof(struct node_type)); // 8

}

1 个答案:

答案 0 :(得分:3)

它只是表示您声明了100个元素的数组,其中每个元素的类型为struct node_type

请注意,本地node标识符会影响外部标识符,因此它不再是main函数的块范围内的数组。 C中没有办法访问node数组,除非}标点符号表示遇到此块作用域的结尾。