关于指针与引用的差别——C++

首先有一个概念

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

猜你喜欢

转载自www.cnblogs.com/yucloud/p/10493864.html
今日推荐