在 C 中透過引用傳遞數組
透過引用傳遞數組允許您在函數中存取原始數組,而無需複製它。在 C 中,您可以使用 & 運算子透過參考傳遞陣列。
考慮以下程式碼片段:
void foo(int (&myArray)[100]) { // Access and manipulate the elements of myArray here } int main() { int a[100]; foo(a); }
在此範例中, foo 函數接受一個包含 100 個整數的陣列作為參考。語法 (&myArray)[100] 指定 myArray 透過引用傳遞,並且它是一個包含 100 個整數的陣列。
(&) 運算子用於取得陣列的位址。需要使用括號來消除表達式的歧義:& 運算子的優先權高於 [] 運算符,因此 &myArray[100] 將引用陣列第 100 個元素的位址,而不是陣列本身的位址。
透過引用而不是透過值傳遞數組是有益的,因為它避免了將整個數組複製到函數中的開銷。這對於大型數組尤其重要,因為它可以顯著提高效能。
請注意,語法 (&myArray)[100] 僅接受 100 個整數的陣列。如果要傳遞不同大小的數組,可以使用語法 (&myArray),它接受任何大小的數組。但是,使用此語法意味著您不能在函數內對 myArray 使用 sizeof。
以上是如何在 C 中透過引用傳遞數組以避免複製?的詳細內容。更多資訊請關注PHP中文網其他相關文章!