给定一个结构:
typedef struct {
char someString[9]
int value;
} Element
一个数组:
Element elementList[5];
有没有一种简单的方法可以动态地将元素添加到列表的每个索引中?我试过创建一个函数
Element
,它接受列表并在那里修改它,但我更喜欢类似于Java的elementList
。 最佳答案
不需要,这个数组由结构实例组成。
你可以这样做,例如:
strcpy(elementList[0].someString, "foo");
elementList[0].value = 4711;
这在Java中是不可能的,因为Java中的所有内容都是引用,但是在C中可以这样做如果您想要一堆
NULL
-able引用,在C中可以使用指针:Element *elementList[5]; /* An array of 5 pointers to type Element. */
然后,在访问
Element
之前,必须使用堆分配来确保有内存:elementList[0] = malloc(sizeof *elementList[0]); /* This might fail! */
elementList[0]->value = 17;
关于c - 向数组添加结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35798969/