我遇到这条线路有问题:
ut_slot = malloc(tab_size * sizeof ut_slot_t);
这些是头文件中定义的变量:
typedef struct _ut_slot {
...
...
} ut_slot_t, *ut_slot;
错误写在标题中,有什么帮助吗?
答案 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;