我只是有点纠结于为什么这不起作用。我是不是错过了一些显而易见的东西?这就是我要做的:
#define LENGTH 4;
new->array = malloc(sizeof(int)*LENGTH);
我正在使用Xcode,在LENGTH开头的"expected")"和LENGTH结尾的"expeeded expression"出现错误。
但这没关系:
int size = sizeof(int)*LENGTH;
new->array = malloc(size);
我不能做第一个的原因是什么?
LENGTH
被4;
取代,因此您得到
new->array = malloc(sizeof(int)*4;);
这在语法上是无效的。从define:中删除尾部;
#define LENGTH 4
还要注意,这与malloc
无关。