收藏 C Tips 8 指標引數

2021-04-02 00:56:34 字數 1258 閱讀 6619

[收藏]c++ tips(8)--指標引數

/*這一系列文章《c++ tips》是公司code committee專家會推薦工程師看的,感覺很好,拿出來與大家共同提高。並不是知道多少會使人與人產生差別,真正的差別在於你能做到多少。

--coofucoo

*/

函式的傳值和傳指標

向函式傳引數時,一般而言,傳入非const的指標時,就表示,在函式中要修改這個指標把指記憶體中的資料。如果是傳值,那麼無論在函式內部怎麼修改這個值,也影響不到傳過來的值,因為傳值是只記憶體拷貝。讓我們看看下面的這個例程:

void getversion(char* pstr)

void main()

類似這樣的問題是乙個新手最容易犯的錯誤。程式中妄圖通過函式getversion

給指標ver

分配空間,但這種方法根本沒有什麼作用,原因就是――這是傳值,不是傳指標。你或許會和我爭論,我分明傳的時指標啊?再仔細看看,其實,你傳的是指標其實是在傳值。

函式的傳值和傳指標

向函式傳引數時,一般而言,傳入非const的指標時,就表示,在函式中要修改這個指標把指記憶體中的資料。如果是傳值,那麼無論在函式內部怎麼修改這個值,也影響不到傳過來的值,因為傳值是只記憶體拷貝。讓我們看看下面的這個例程:

void getversion(char* pstr)

void main()

類似這樣的問題是乙個新手最容易犯的錯誤。程式中妄圖通過函式getversion

給指標ver

分配空間,但這種方法根本沒有什麼作用,原因就是――這是傳值,不是傳指標。你或許會和我爭論,我分明傳的時指標啊?再仔細看看,其實,你傳的是指標其實是在傳值。

函式的傳值和傳指標

向函式傳引數時,一般而言,傳入非const的指標時,就表示,在函式中要修改這個指標把指記憶體中的資料。如果是傳值,那麼無論在函式內部怎麼修改這個值,也影響不到傳過來的值,因為傳值是只記憶體拷貝。讓我們看看下面的這個例程:

void getversion(char* pstr)

void main()

類似這樣的問題是乙個新手最容易犯的錯誤。程式中妄圖通過函式getversion

給指標ver

分配空間,但這種方法根本沒有什麼作用,原因就是――這是傳值,不是傳指標。你或許會和我爭論,我分明傳的時指標啊?再仔細看看,其實,你傳的是指標其實是在傳值。

8 指標小結

指標是資料在記憶體所佔儲存空間的首位址。存放指標值的變數稱為指標變數,當指標變數的值為某變數的位址時,稱這個指標指向該變數。同其他型別的變數一樣,指標變數也必須在使用前加以定義。指標變數的內容可以是0 null和乙個確定的記憶體位址。其中0和null等價,它們表示空指標。除0外,其他任何常量都不允許...

7 3 指標作為函式的引數

乙個函式在編譯時被分配乙個入口位址,這個入口位址被稱為函式的指標。在c 中,函式名代表函式的入口位址。共有三個重點 1 指標作函式的引數 實現位址傳遞 2 返回指標的函式 3 利用指向函式的指標呼叫函式 指標作函式的引數,具有以下用途 1 指標作函式引數,這時形參接受的是實參的位址。函式中通過對指標...

C 筆記整理8 指標 (總複習)

到指標了呀,c語言的精華之所在。正確的使用指標,可以有效地表示複雜的資料結構 動態地分配記憶體 方便地使用字串 有效而方便地使用陣列及直接處理記憶體位址等。辨別乙個人是新手還是老手的第二步就是看他能否靈活地使用指標 指標 通過變數名a直接訪問變數名a內的資料。2,間接訪問 將變數a的位址存放在另乙個...