C/C++中的指针变量可以相互赋值,使得它们指向同一块地址空间
生活随笔
收集整理的這篇文章主要介紹了
C/C++中的指针变量可以相互赋值,使得它们指向同一块地址空间
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
兩個指針變量可以相互賦值嗎?
int *p, *q;
p=q;
這樣寫是什么意思?是p指向q嗎?
答:1.兩個指針變量之間可以相互賦值,p和q都是int類型的指針。
p=q表示將q所指向的int類型變量的地址賦給p
2.兩個都是指針,所以是p的值等于q
如果p不是指針,那么p=q是p等于q指向的值
3.可以這樣寫,前提好像是q有確定的地址指向,然后用此語句賦值則表示,指針p和指針q指向相同的地址空間。
4.指針也只不過是一個變量而已,只不過里面存放的是地址
以上內容來源
示例:
輸出結果:
98
0
可見,pb和pa指向了同一塊地址空間,用pb或者pa,都會對指向的地址空間中的數據進行操作。
此程序較為簡單,容易看懂,但是在較為復雜的程序中,例如為了提高程序可讀性,或者使得代碼邏輯更加清晰,使用了兩個指針指向同一塊地址,無論是哪個指針修改了這塊地址空間的內容,結果都是修改了。
總結
以上是生活随笔為你收集整理的C/C++中的指针变量可以相互赋值,使得它们指向同一块地址空间的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对OS实验中的“管道”的一点儿理解
- 下一篇: 函数exit()详解:参数EXIT_FA