预期标识符或'('''''''之前的标记

时间:2014-04-14 21:12:21

标签: c

我遇到这条线路有问题:

ut_slot = malloc(tab_size * sizeof ut_slot_t);

这些是头文件中定义的变量:

typedef struct _ut_slot { ... ... } ut_slot_t, *ut_slot;

错误写在标题中,有什么帮助吗?

2 个答案:

答案 0 :(得分:6)

如果ut_slot_t是一种类型,那么你必须把它放在括号中:

 ut_slot = malloc(tab_size * sizeof(ut_slot_t));

编辑:以上是正确的(我认为!),但只是问题的一部分。另一个答案 完全解决了。

答案 1 :(得分:2)

更改

ut_slot = malloc(tab_size * sizeof ut_slot_t);

ut_slot_t *ut_slot = malloc(tab_size * sizeof *ut_slot);

并从typedef中删除ut_slot

typedef struct _ut_slot {
...
...
} ut_slot_t;