在函數中傳回陣列
在 C 中,陣列不是一等對象,這表示它們無法直接從函數傳回。但是,在函數中使用陣列有兩種常見方法:
方法1:透過引用傳遞
如問題所示,可以將陣列傳遞給一個函數作為引用,允許函數修改原始數組。然後,函數可以傳回 void 或其他資料類型,同時仍可存取更新後的陣列。
方法 2:傳回指標
或者,可以傳回數組從函數作為指向其第一個元素的指標。這本質上與引用傳遞相同,因為函數仍然可以透過指標存取和修改原始數組。
實作範例:
int* fillArray(int arr[], int size) { for (int i = 0; i < size; ++i) { arr[i] = i + 1; } return arr; } int main() { int arr[5]; int* result = fillArray(arr, 5); // Access and print the modified array through the pointer for (int i = 0; i < 5; ++i) { cout << result[i] << " "; } cout << endl; return 0; }
中在此範例中,fillArray 函數採用陣列引用和大小作為輸入,並傳回指向已修改陣列的第一個元素的指針。主函數呼叫該函數並將結果儲存在指標中。然後它透過該指標存取修改後的陣列。
以上是如何在 C 函數中傳回和修改數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!