At the moment I'm trying
void avg(everything)
但是这给了我一个错误:
error: subscripted value is neither array nor pointer
今天早些时候,当我没有正确地将一个二维数组传递给函数时,就会出现这个错误。所以我觉得这是相同的问题,但我找不到正确的格式来传递。
这是我的typedef:
typedef struct structure
{
char names[13][9];
int scores[13][4];
float average[13];
char letter[13];
} stuff;
这是我的typedef数组:
stuff everything[13];
void avg(stuff *p);
看起来很合适。 - WhozCraigvoid avg(stuff * s) {}
- 但调用需要avg(everything);
。 - user93353void arg(stuff (*ar)[ARRAY_SIZE]);
来跳过长度参数,其中ARRAY_SIZE
是硬维度。注意:这意味着该函数只能接受该大小的常规数组作为参数。如果要传递其他类型的数组,则需要进行强制转换。 - WhozCraig