在调用 malloc 时使用宏
Using a macro in call to malloc
我只是有点困惑为什么这不起作用。我错过了一些明显的东西吗?这就是我想要做的:
#define LENGTH 4;
new->array = malloc(sizeof(int)*LENGTH);
我正在使用 Xcode 并在 LENGTH 开始时出现 'expected ")"' 错误,在 LENGTH 结束时出现 'expected expression' 错误。
但这没关系:
int size = sizeof(int)*LENGTH;
new->array = malloc(size);
第一个做不了是什么原因?
LENGTH
被 4;
取代,所以你得到
new->array = malloc(sizeof(int)*4;);
这在语法上是无效的。从定义中删除尾随 ;
:
#define LENGTH 4
另请注意,这与 malloc
.
无关
我只是有点困惑为什么这不起作用。我错过了一些明显的东西吗?这就是我想要做的:
#define LENGTH 4;
new->array = malloc(sizeof(int)*LENGTH);
我正在使用 Xcode 并在 LENGTH 开始时出现 'expected ")"' 错误,在 LENGTH 结束时出现 'expected expression' 错误。
但这没关系:
int size = sizeof(int)*LENGTH;
new->array = malloc(size);
第一个做不了是什么原因?
LENGTH
被 4;
取代,所以你得到
new->array = malloc(sizeof(int)*4;);
这在语法上是无效的。从定义中删除尾随 ;
:
#define LENGTH 4
另请注意,这与 malloc
.