在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...