我在这个函数中有一个函数create_system
我想为一个名为c_array
的数组分配内存,它的类型是指向struct Activity的指针。
我得到了我试图分配内存的方式是错误的!我尝试了所有的东西,这是我在谷歌搜索到这种分配方式后得到的:
Activity* ((*sys)->c_array)=malloc(num_challenges * sizeof(Activity));
但是我收到以下错误:
expected ')' before '->' token
我在这里做错了!
我的尝试:
typedef struct SRoomSystem
{
Activity *c_array;
} RoomSystem;
int num_challenges=6;//this is just an example
Result create_system(RoomSystem **sys){
Activity* ((*sys)->c_array)=malloc(num_challenges * sizeof(Activity));
}
答案 0 :(得分:1)
你遇到这个问题的原因很可能是@Steephen已经指出的问题:(*sys)->c_array = malloc(num_challenges * sizeof(Activity));
。最有可能是额外的括号导致错误。