理解C 中的與符號(&)
與符號(&) 在C 中有多種用途,給初學者帶來混亂。它的關鍵功能之一是獲取變數的位址,這是一個通常與指標相關的概念。不過,在某些場景下,它也可以起到其他作用。
取得變數的位址
如所料,可以使用 & 運算子來取得位址變數的,儲存為指向其在記憶體中的位置的指標。例如:
int x; void* p = &x;
這裡,x的位址被賦值給指標p。
透過引用傳遞參數
當聲明一個函數參數,&表示參數是按引用傳遞的。這意味著對函數內參數的修改將直接影響原始變數。預設情況下,參數會按值傳遞,在函數呼叫期間建立副本。透過引用傳遞對於大型物件或需要修改原始變數時是有益的。
void foo(CDummy& x); // x is passed by reference
宣告引用變數
& 也可用來宣告引用變數引用現有變數。透過引用進行的賦值直接影響原始變數。
int k = 0; int& r = k; // r is a reference to k r = 3;
在此範例中,r 是對 k 的引用,透過 r 所做的變更會反映在 k 中。
&
的附加功能除了這些常見用途之外,& 運算子還有其他功能,例如well:
以上是C 中與符號 (&) 的使用方式有哪些不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!