數據結構中*和&的區別是什么
3 回答

回首憶惘然
TA貢獻1847條經驗 獲得超11個贊
數據結構中*是取地址內容,和C語言用法一樣。而&的用法有兩種,一種是取地址運算符,和C語言的一樣,另一種是引用,參考了C++的用法。
*有兩個意思,一是定義指針時使用:int* p=pa;另一個是解引用時使用:cout<<*p<<endl。
&也有兩個意思,一是取地址時使用:int* p=&a;另一個是定義引用時使用:int& a=b。
*&的意思是指針的引用,一般在函數的傳參時使用,表示將指針直接傳給函數,不是僅僅復制指針的地址作為副本進行傳遞。

不負相思意
TA貢獻1777條經驗 獲得超10個贊
aaaa &x 表示函數abcd()得到的是數據結構為aaaa 的x 的引用,即數據x存儲位置的首地址,如果在程序中有改動,那么x的值相應改動。 (&是取地址)
int *y 表示, y是一個地址 (比如0x0018), *y 代表以y開頭的地址處 存放的數據(比如0x0018 內存單元存入的是 5) 。
- 3 回答
- 0 關注
- 795 瀏覽
添加回答
舉報
0/150
提交
取消