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
}
答案 0 :(得分:3)
它只是表示您声明了100个元素的数组,其中每个元素的类型为struct node_type
。
请注意,本地node
标识符会影响外部标识符,因此它不再是main
函数的块范围内的数组。 C中没有办法访问node
数组,除非}
标点符号表示遇到此块作用域的结尾。