作为更大程序的一部分,我正在尝试组合两个结构数组。我还试图将新的传递给打印功能。我知道该函数有效,因为当我将其中一个数组传递给它时,它会正确打印。
这是结构,我确信它是正确的,因为当我将它的数组传递给另一个函数时,该函数起作用。
typedef struct {
long unsigned bibnum;
char lastname[charnum];
char firstname[charnum];
int grade;
char team[charnum];
char state[charnum];
int time1;
float time2;
} runner_t;
我的前两个数组是 runarrayboys 和 runarraygirls,并且是结构类型 runner_t 的数组。第三个是runarrayall。这就是我尝试结合它的方式。当我尝试运行它时,我遇到了分段错误。在将 printfs 放在所有地方之后,我很确定它在第二个 for 循环的声明行中。
while (p<(x+y))
{
for (q=0; q<x; q++)
{
runarrayall[q] = runarrayboys[q];
p++;
/* printingfucntion(runarrayall[q]); */
}
for (q=x; q<(x+y); q++)
{
printf("in for loop2 \n");
runarrayall[q] = runarraygirls[n];
n++;
p++;
}
}
当我取消注释打印功能时,我收到此错误:
LA2.c:(.text+0xdaa): undefined reference to `printingfucntion'
collect2: ld returned 1 exit status
即使我以与其他有效的方式相同的方式传入数组