gpt4 book ai didi

c - 如何在 C 中使用 malloc() 分配结构数组?

转载 作者:太空宇宙 更新时间:2023-11-04 01:47:57 24 4
gpt4 key购买 nike

我想分配结构数组,但我在使用 GCC 时遇到此错误:

st.c: In function ‘main’:
st.c:20:4: error: incompatible types when assigning to type ‘struct employeeStruct’ from type ‘void *’ *sp=malloc(sizeof(struct productStruct)*n);

这是我的结构和指针:

struct productStruct
{
unsigned int ID;
unsigned long int serialnumber;
char name[40];
};

struct productStruct *sp;

在 main 函数中从用户处获取 n 个变量后:(我在这一行中收到错误)

*sp=malloc(sizeof(struct *productStruct)*n);

我不知道这可能是类型转换错误,但我无法修复它。感谢您的关注

最佳答案

您有 2 个错误:

使用 sp 而不是 *sp 并保留结构的大小,而不是指向结构的指针的大小(如果你真的想要一个结构数组而不是指针):

sp=malloc(sizeof(struct productStruct)*n);

关于c - 如何在 C 中使用 malloc() 分配结构数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49774138/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com