在我的主要功能我有以下代碼:
struct student s1 = {"zack",0,0,82};
struct student s2 = {"bob",0,0,80};
struct student s3 = {"joe",0,0,97};
struct student s4 = {"bill",0,0,100};
struct student c[] = {s1,s2,s3,s4};
printf("%d\n\n", arrayLengths(c));
printf("%d\n\n", sizeof(c)/sizeof(c[0]));
其中arrayLength定義爲:
int arrayLengths(struct student g[]) {
return sizeof(g)/sizeof(g[0]);
}
雖然我得到兩個不同的結果,但重複的代碼。我的主機輸出是:
0
4
什麼給了?爲什麼這樣,我怎麼能把它放在它自己的功能?