現在搞懂了,紀錄一下
說穿了一文不值,我們一開始學函數就知道,如果將變數傳入函數,只是傳值呼叫
就只是傳了一個 copy 進去,含數值行完,原本的變數是不會改變得,
所以我們要學會傳址呼叫,才能將要變數傳入函數並改並其值
口訣如下
如果要將傳入的變數內容改變,就要用傳址呼叫
如果要將傳入的指標內容改變,就要用雙重傳址呼叫
以下是範例
印出結果
換個角度來說,以傳址呼叫來說
如果 bb 是個變數,傳入函數則是 func(&bb),對應函數是 void func (int* aa)
如果 bb 是個指標,傳入函數則是 func(&bb),對應函數是 void func (int** aa)
沒有留言:
張貼留言