c++ &与*各自都有什么作用???

来源:百度知道 编辑:UC知道 时间:2024/05/27 12:16:35
刚开始学c++,看到好多&,*不知道什么时候该用&,什么时候该用*,请各位交给我吧

&的作用:一是取变量的地址,二是引用(引用相当于为一个变量取一个别名,比如:
int someInt; //定义someInt;
int &rInt=someInt;//声明rInt对整形数引用,并初始化引用为someInt,那么这个时候rInt和someInt就内容相同了)。
*的作用:一是定义指针,二是取指针所指向地址变量的内容(我们说每个指针都指向一个变量,其实是指针记住了这个变量存放的地址,调用的时候就可以通过指针找到这个地址调用这个变量,*就是取出这个变量的内容,比如:
int m=5;
int *p=&m;//用&取m的地址赋值给指针p;
int n=*p; //取指针p所指向的地址即存储变量m的地址处存放的内容即变量m的内容5,将其赋值给变量n;)。

&是取内存地址,
*是访问内存地址,定义指针时也要在类型后加*
两者正好相反
int a
int *p=&a //定义指针p 并取a的地址
int b = *p //*p:访问p指针所指向的内容

指针就是代表内存的地址。就像你家的门牌号。

&是取地址运算符,用于取地址,
*是解引用该地址的运算符,用于引用该地址的值!

“&”是取地址
一般是你要知道哪个变量的地址或是初始化变量时用
“*”是定义指针时候用的

&是把变量的地址取出来
*是把指针指向的变量取出来