我試圖發送一個結構數組作爲參考,但由於某種原因,我不能得到它的工作,因爲價值是能夠通過,但並不作爲參考(&)通行證結構陣列的功能使用指針
這是我的代碼:
#include <stdio.h>
#include <string.h>
struct mystruct {
char line[10];
};
void func(struct mystruct record[])
{
printf ("YES, there is a record like %s\n", record[0].line);
}
int main()
{
struct mystruct record[1];
strcpy(record[0].line,"TEST0");
func(record);
return 0;
}
我以爲只有通過調用函數func(&記錄),並改變FUNC功能參數爲「結構MYSTRUCT *記錄[]」這是去上班......但是它沒有。
請任何幫助。
「不工作」,是不是你遇到什麼問題的一個非常有用的描述。請告訴我們你得到的輸出。 – kaylum
當我嘗試引用這個錯誤時有點奇怪,但這是它: – Marco
C沒有引用傳遞,所有東西都是按值傳遞的。但'func(record)'已經傳遞了'record'數組作爲指針。也就是說,它已經通過「引用」,就像你想要的一樣(它不會複製整個結構數組)。 – kaylum