首頁 >後端開發 >C++ >如何在 C 函數中傳回和修改數組?

如何在 C 函數中傳回和修改數組?

Susan Sarandon
Susan Sarandon原創
2024-12-20 13:33:11489瀏覽

How Can I Return and Modify Arrays in C   Functions?

在函數中傳回陣列

在 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn