首先有一个概念
int a;
int &x = a;
a = 123;
以下用%d代替变量a的值
那么,
a int型变量
%d a目前储存的数据,整数123
&k int型变量,a的别名
假如现在有一个指针p和一个引用k
&k = p;
p 地址变量,即指针
*p p目前储存的数据,即地址0x12345678
*&k 地址变量,即指针,p的别名
总结,打印*p,即打印目前取得的值(是值,数据)
p或者*&k是指针(地址变量,是用来储存地址的容器)
容器可以储存不同的数据,用来存放不同的值
而数据是数值,如同123,就是一个值而已
用法区别:
引用的用法之一:传递指针给子函数,并在子函数中改变这个指针的值(指向的地址)
地址的用法:传递地址*p给子函数,子函数中变量再怎么变化也不会影响main中的指针p