c 值傳遞,指標,引用使用總結

2021-10-09 08:26:55 字數 956 閱讀 5704

**

溫故而知新,每次重溫一遍知識點,都有新的見解。

參考:首先需要了解程式的記憶體是如何分配的

c/c++程式記憶體的各種變數儲存區域和各個區域詳解

棧區(stack):由編譯器自動分配與釋放,存放為執行時函式分配的區域性變數、函式引數、返回資料、返回位址等。其操作類似於資料結構中的棧。

堆區(heap):一般由程式設計師自動分配,如果程式設計師沒有釋放,程式結束時可能有os**。其分配類似於鍊錶。

全域性區(靜態區static):存放全域性變數、靜態資料、常量。程式結束後由系統釋放。全域性區分為已初始化全域性區(data)和未初始化全域性區(bss)。

常量區(文字常量區):存放常量字串,程式結束後有系統釋放。

**區:存放函式體(類成員函式和全域性區)的二進位制**。

int a =

0; 全域性初始化區

char

*p1; 全域性未初始化區

main()

函式何時值傳遞,何時指標,何時引用傳遞總結

c/c++的值傳遞,指標傳值和引用傳值的區別

c++ 什麼時候使用指標?什麼時候使用引用?什麼時候應該按值傳遞?

3種傳遞的區別**:

//值傳遞

//void myswap(int a, int b)

////指標傳遞

void

myswap

(int

*a,int

*b)//開闢了新的記憶體

//引用傳遞

//void myswap(int &a, int &b)

//int

main()

函式使用:

需要修改值

不需要修改值

指標/引用

值傳遞/引用

~持續更新

c 值傳遞 指標傳遞 引用傳遞

值傳遞 形參是實參的拷貝,改變形參的值並不會影響外部實參的值。從被呼叫函式的角度來說,值傳遞是單向的 實參 形參 引數的值只能傳入,不能傳出。當函式內部需要修改引數,並且不希望這個改變影響呼叫者時,採用值傳遞。指標傳遞 形參為指向實參位址的指標,當對形參的指向操作時,就相當於對實參本身進行的操作 引...

C 值傳遞 指標傳遞 引用傳遞詳解

值傳遞 形參是實參的拷貝,改變形參的值並不會影響外部實參的值。從被呼叫函式的角度來說,值傳遞是單向的 實參 形參 引數的值只能傳入,不能傳出。當函式內部需要修改引數,並且不希望這個改變影響呼叫者時,採用值傳遞。指標傳遞 形參為指向實參位址的指標,當對形參的指向操作時,就相當於對實參本身進行的操作.引...

C 值傳遞 指標傳遞 引用傳遞詳解

最近寫了幾篇深層次討論陣列和指標的文章,其中提到了 c語言中,所有非陣列的形式引數傳遞均以值傳遞形式 而關於值傳遞,指標傳遞,引用傳遞這幾個方面還會存在誤區,所有我覺的有必要在這裡也說明一下 下文會通過例子詳細說明哦 值傳遞 形參是實參的拷貝,改變形參的值並不會影響外部實參的值。從被呼叫函式的角度來...