这里cprimer讲带伸缩性数组,请问这里编译不过的原因是什么(一个很基础的程序)
返回值是一个 void* ,而你直接赋值,需要在前面加个强制转换
第 12 行应改为:
a = (struct evaluate*)malloc(sizeof(struct evaluate) + n * sizeof(int));
malloc返回的是一个通用指针(void *),这种指针并没有结构体的成员的信息,你必须强制转换成结构体指针才能正常使用
改成a = (struct evaluate*)malloc(sizeof(struct evaluate) + n * sizeof(int));
就好了
malloc用法有点问题