初学者针对引用&,取地址&,指针*的理解

对于初学者来说,很好的理解引用,取地址,指针是一件比较容易混淆的事,接下来我大致说下我的看法,供参考。

int a=1;
int &c=a;
int *b=&a;
int main()
{
	cout<<c<<endl;  //此时的c就是a,输出1
	cout<<&c<<endl;  //输出的是c的存储地址也就是a的地址
	cout<<&a<<endl; //和cout<<&c<<endl;和上一个代码一样
	cout<<*&c<<endl;  //*直接取这个地址的结果,也就是输出1,也就是a也是c
	cout<<b<<endl;   //b是指针,指向的是a的地址,输出就是a的地址
	cout<<*b<<endl;  //指针指向地址里面结果,也就是输出1咯
	system("pause");
}

也就是,在引用的时候 &符号就是取名字,不要想太多,在取地址的时候,&取得就是对象的地址,而指针*p就是取地址里面的内容啦。我是理解成& 和* 是一对相反作用的符号吧,一个找地址,一个找地址对应的东西,一个萝卜一个坑,希望大家理解哦。

猜你喜欢

转载自blog.csdn.net/qq_36631272/article/details/79949847