C C 指標引數賦值問題

2021-10-11 02:29:24 字數 1023 閱讀 7293

在c/c++中,關於在函式裡對指標賦值的問題。首先可以看到如下現象:

void

test

(int

*p)int

main

(int argc,

char

*ar**)

這個結果令我有點吃驚,我一直以為傳遞指標,賦值完這個指標也會變的,沒想到其實指標也是乙個變數,我們如果要改變它,必須找到它在記憶體中的位址,也就是指標的位址。也就是說,對於函式中,如果對指標的位址進行賦值,事實上是改變不了原指標的!

void

test

(int

**p)

intmain

(int argc,

char

*ar**)

另外,用引用賦值也可以解決這個問題:

void

test

(int

&p)int

main

(int argc,

char

*ar**)

另外,可以修改指標指向的內容,而不是修改指標位址,也可以改變內容。

void

test

(int

*p)int

main

(int argc,

char

*ar**)

void

test

(int

*p)int

main

(int argc,

char

*ar**)

(更多免費 c/c++,linux,nginx,zeromq,mysql,redis,fastdfs,mongodb,zk,流**,cdn,p2p,k8s,docker,tcp/ip,協程,dpdk等等多個知識點乾貨學習資料** 960994558)

關於指標的賦值問題

void copy 2th to sdram void 目的是將2048到4096的記憶體 拷貝到0x30004000 上 這時,pdwdest 0x30004000,也就是說pdwdest存放了乙個4位元組的int型,在進行解引用時,指向0x30004000 pdwdest 由於是int型 pdw...

C C 指標陣列的問題

本人小白,本文專門給初學者準備,大神自動跳過。不喜勿噴,謝謝。如有錯誤,請指正,謝謝。正文 進來有人問我一些有關於指標的問題。在此我貼出問題 問題如下 char msg 5 mian printf s msg 0 問題一 為什麼msg 0 可以輸出thank you?問題四 如果用msg可以輸出th...

函式指標引數問題

這一則是關於函式指標引數的。我們經常犯下面這樣的錯誤。void getpointer char p int main 在上面 中,最終會產生error。主要是因為在main函式中,指標p始終都是nullptr空指標。當我們使用函式指標引數時,我們雖然傳入了乙個指標引數p,但是,在函式getpoint...