我是C的新手,但幾個星期前我在pascal編程。在帕斯卡中,如果您想更改陣列數據,則通過引用來輸入var myArray
。我無法弄清楚如何在C中做到這一點。我已經閱讀了很多問題,但似乎沒有任何工作。這是迄今爲止我所擁有的。改變陣列數據的功能 - 數據不變。 C
void set_up_elements(char (*array_to_populate)[20])
{
char* buffer;
FILE *f;
f=fopen("elementList.txt","r");
char copied_text[118][20];
int i=0;
while (!feof(f))
{
fgets(copied_text[i],80,f);
++i;
}
//Close the file to free up memory and prevent leaks
fclose(f);
f = NULL;
}
這裏是我的代碼來填充該數組,我到陣列copied_text
讀取元素週期表中的元素的列表。這部分工作,它成功地填充INSIDE函數的數組。
int main()
{
char element_array[118][20];
set_up_elements(element_array);
<..>
}
這就是我試圖稱呼它。數組element_array
的內容不變。有誰知道如何解決這一問題?謝謝。
set_up_elements(element_array); – 2013-04-24 16:10:34
另外我認爲copied_text應該是[118] [80],因爲你想複製80個字符,而不是20個字符。 – David 2013-04-24 16:11:50
可能相關:http://stackoverflow.com/questions/9446707/correct-way-of-passing-2-dimensional-array-into-a-function – Arun 2013-04-24 16:16:27