C语言结构体赋值错误,跪求解答

如图一直都是expected expression before‘Job’无论我使用指针还是用数组的方法。

Job[i].JobAbility=(char *)malloc(50);
scanf("%s",Job[i].JobAbility);追问

这样一来14行都通不过了···

追答

Job到底是什么,类型还是数组变量

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-09-02
结构体是怎么定义的?追问

这样,我的结构体放在头文件mains.h里了

追答Job[j].JobAbility=(char*)malloc(sizeof(char)*N+1);
scanf("%s",Job[j].JobAbility);

Job变量的数据类型是结构体数组, 但是它里面的元素是指针

如果不想用指针, 可以把_Job结构体中的元素定义为字符数组, 这样就不必每次为它分配内存空间

你的代码问题出在: 声明和定义, 在头文件中

相似回答