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

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

DDD
DDD原創
2024-12-27 07:51:10656瀏覽

How to Pass an Array by Reference in C  ?

透過引用傳遞陣列

在 C 中,透過引用傳遞陣列允許我們修改傳遞給函數的原始陣列。當我們在數組類型之前使用與號 (&) 時,我們創建了對該數組的引用。

考慮以下程式碼:

void foo(int (&myArray)[100])
{
}

int main()
{
    int a[100];
    foo(a);
}

在此範例中, foo 函數接受對 100 個整數的陣列的引用。 myArray 後面的括號是必要的,以指示該參數是陣列引用,而不是指標。

表達式 (&myArray)[100] 表示「對包含 100 個整數的陣列的引用」。這是聲明數組引用的另一種方法。以下聲明是等效的:

  • int (&myArray)[100]
  • int *myArray
  • int myArray[]

透過引用傳遞數組時,編譯器將函數參數視為指向數組中第一個元素的指標。這意味著函數中對數組所做的任何更改也將反映在原始數組中。

要注意的是,void foo(int (&myArray)[100]) 只接受 100 個元素的陣列。如果我們嘗試將不同大小的陣列傳遞給 foo 函數,則會導致編譯時錯誤。

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

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