我有点担心为什么这不起作用。我错过了一些明显的东西吗这就是我想要做的事情:
#define LENGTH 4;
new->array = malloc(sizeof(int)*LENGTH);
我正在使用Xcode并因预期")"'而导致错误。在LENGTH的开始和预期的表达'在LENGTH结束时。
但这没关系:
int size = sizeof(int)*LENGTH;
new->array = malloc(size);
我不能做第一个的原因是什么?
答案 0 :(得分:2)
LENGTH
被4;
取代,所以你得到了
new->array = malloc(sizeof(int)*4;);
这在语法上是无效的。从define:
中删除尾随的;
#define LENGTH 4
另请注意,这与malloc
无关。