我想分配结构数组,但我在 GCC 中遇到此错误:
st.c:在函数"main"中:
st.c:20:4:错误:从类型"void *"分配给类型"struct employeeStruct"时类型不兼容 *sp=malloc(sizeof(struct productStruct(*n(;
这是我的结构和指针:
struct productStruct
{
unsigned int ID;
unsigned long int serialnumber;
char name[40];
};
struct productStruct *sp;
在主函数中从用户那里获得 n 个变量后:(我得到这一行的错误(
*sp=malloc(sizeof(struct *productStruct)*n);
我不知道这可能是类型转换错误,但我无法修复它。感谢您的关注
您有 2 个错误:
使用sp
不*sp
并保留结构的大小,而不是指向结构的指针的大小(如果您确实想要一个结构数组而不是指针(:
sp=malloc(sizeof(struct productStruct)*n);