在函數中傳回陣列
在 C 中,通常需要從函數傳回陣列。下面的問題探討了這個主題:
問題:
考慮將陣列 int arr[5] 傳遞給函數 fillarr(int arr[])。 :
int fillarr(int arr[]) { for(...); return arr; }
a) 我們如何回傳陣列?
b) 如果我們回傳一個指針,如何返回我們要存取它嗎?
答案:
a) 陣列變數 arr 可以被視為指向其記憶體區塊開頭的指標。以下語法:
int fillarr(int arr[])
相當於:
int fillarr(int* arr)
因此,我們可以傳回指向第一個陣列元素的指標:
int* fillarr(int arr[])
b)要存取傳回的指針,我們可以在呼叫函數中像普通數組一樣使用它:
int y[10]; int *a = fillarr(y); cout << a[0] << endl;
以上是如何從 C 函數返回和存取數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!