尝试将结构传递给函数并浏览它。这是将结构传递给函数的正确方法吗?函数视图()中的for循环似乎不起作用。任何帮助也将不胜感激。
我的结构:
typedef struct {
char name[20];
employee *list_employees;
int empl_count;
} agency;
typedef struct {
char name[30];
int age;
} employee;
代码的重要部分:
int main()
{
//...
int nmbr_agencies;
agency *list_agencies = malloc(sizeof(agency) * nmbr_agencies);
view(&list_agencies, &nmbr_agencies);
}
void view(agence *ListA[], int *nmbr)
{
int i=0;
for (i = 0; i < *nmbr; i++){
printf("name of agency: %s\n", ListeA[i]->name);
printf("number of employees\n, ListeA[i]->empl_count);
}
}
答案 0 :(得分:2)
没有
如果你拥有的话,你应该只传递一个数组,而不是假装(在通话中)你有一个你没有的指针数组。
制作功能:
void view(const agency *list, size_t number);
并称之为:
view(list_agencies, nmbr_agencies);
然后在函数内部进行直接访问:
printf("name of agency: %s\n", list[i].name);
因为你没有有一系列指针。