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

数据结构中*和&的区别是什么


呼唤远方
浏览 642回答 3
3回答

回首忆惘然

数据结构中*是取地址内容,和C语言用法一样。而&的用法有两种,一种是取地址运算符,和C语言的一样,另一种是引用,参考了C++的用法。*有两个意思,一是定义指针时使用:int* p=pa;另一个是解引用时使用:cout<<*p<<endl。&也有两个意思,一是取地址时使用:int* p=&a;另一个是定义引用时使用:int& a=b。*&的意思是指针的引用,一般在函数的传参时使用,表示将指针直接传给函数,不是仅仅复制指针的地址作为副本进行传递。

不负相思意

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