透過引用傳遞陣列
將陣列傳遞給函數時,重要的是要考慮是否要以數值傳遞陣列或透過參考。按值傳遞會建立陣列的副本,而按引用傳遞則允許函數修改原始陣列。
透過引用傳遞數組語法
傳遞透過引用數組,我們使用以下語法:
void foo(int (&myArray)[100]);
在此語法中,myArray 是對100 個陣列的引用整數。這意味著 foo() 函數中對 myArray 所做的任何更改都會反映在原始數組中。
單獨的括號和大括號
單獨的括號後面接大括號(&myArray)[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中文網其他相關文章!