数据结构中*和&的区别是什么
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 关注
- 747 浏览
添加回答
举报
0/150
提交
取消