为了账号安全,请及时绑定邮箱和手机立即绑定

求解释,关于数据结构中*和&的区别是什么?

求解释,关于数据结构中*和&的区别是什么?

呼唤远方 2019-11-12 14:10:04
数据结构中*和&的区别是什么
查看完整描述

3 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

  1. 数据结构中*是取地址内容,和C语言用法一样。而&的用法有两种,一种是取地址运算符,和C语言的一样,另一种是引用,参考了C++的用法。

  2. *有两个意思,一是定义指针时使用:int* p=pa;另一个是解引用时使用:cout<<*p<<endl。

  3. &也有两个意思,一是取地址时使用:int* p=&a;另一个是定义引用时使用:int& a=b。

  4. *&的意思是指针的引用,一般在函数的传参时使用,表示将指针直接传给函数,不是仅仅复制指针的地址作为副本进行传递。


查看完整回答
反对 回复 2019-11-24
?
不负相思意

TA贡献1777条经验 获得超10个赞

aaaa &x 表示函数abcd()得到的是数据结构为aaaa 的x 的引用,即数据x存储位置的首地址,如果在程序中有改动,那么x的值相应改动。 (&是取地址)
int *y 表示, y是一个地址 (比如0x0018), *y 代表以y开头的地址处 存放的数据(比如0x0018 内存单元存入的是 5) 。

查看完整回答
反对 回复 2019-11-24
  • 3 回答
  • 0 关注
  • 630 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信