首頁 >後端開發 >C++ >如何在 C 中透過引用傳遞數組?

如何在 C 中透過引用傳遞數組?

Patricia Arquette
Patricia Arquette原創
2024-12-21 07:02:10216瀏覽

How Do I Pass an Array by Reference in C  ?

透過引用傳遞陣列

將陣列傳遞給函數時,重要的是要考慮是否要以數值傳遞陣列或透過參考。按值傳遞會建立陣列的副本,而按引用傳遞則允許函數修改原始陣列。

透過引用傳遞數組語法

傳遞透過引用數組,我們使用以下語法:

void foo(int (&myArray)[100]);

在此語法中,myArray 是對100 個陣列的引用整數。這意味著 foo() 函數中對 myArray 所做的任何更改都會反映在原始數組中。

單獨的括號和大括號

單獨的括號後面接大括號(&myArray)[100] 有兩個用途:

  • 括號() 表示我們正在傳遞對陣列的參考。
  • 大括號 [] 指定要傳遞的陣列的大小。在本例中,它是一個包含 100 個整數的陣列。

替代數組聲明

值得注意的是,以下聲明都是等效的:
void foo(int * x);
void foo(int x[100]);
void foo(int x[]);

但是,以下聲明都是等效的:
void foo(int (&x)[100]);

但是,以下聲明都是等效的:

但是,以下陳述是不同:

此聲明僅接受100個整數的數組,我們可以安全地在 x 上使用 sizeof。
void foo(int & x[100]); // error

無效聲明以下聲明無效:這被解析為“數組”引用”,這不是C 中的有效數據型。

以上是如何在 C 中透過引用傳遞數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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