【发布时间】:2016-04-30 23:41:01
【问题描述】:
我正在学习 C,并试图创建一个 ArrayList 以供练习。当我尝试编译这段代码时,我得到了很多错误,但我不知道为什么会这样:
Test.c:12:13: 错误:预期标识符或 '(' 在 'void' 结构初始化(无效);
Google 上没有太多关于这个与 void 相关的错误,因此我们将不胜感激任何帮助。谢谢!
#include <stdio.h>
#include <stdlib.h>
struct ArrayList {
int size;
int typeSize;
int index;
int array[];
};
struct init(void);
void add(struct list, int x);
int get(struct list, int x);
int main() {
struct ArrayList list = init();
add(list, 4);
printf("%d", get(list, 0));
return 0;
}
struct init(void) {
ArrayList this;
this.size = 0;
this.index = 0;
return this;
}
void add(struct list, int x) {
list->array[size] = x;
size++;
}
int get(struct list, int index) {
return list->array[index];
}
【问题讨论】:
-
顺便说一句
list->array[size] = x;:区域尚未得到保护。 -
并将
struct list替换为struct ArrayList *list
标签: c