int a1 = 10;
int a2 = 20;
int a3 = a1;//赋值语句,可以理解成数据的克隆,a3与a1 不在是指向一个对象
int &b = a1;
//int &b2 = 900; //不合法,非常量引用的初始值必须左值
int *c = &a1;
// b = 900; 合法,这里已经对b指向的对象赋值,所以这里的修改会改变a1的值
// b = a2; 合法
*c = 100;
c = &a2;//说明 指针是可以被重新赋值到新的地址,这里的表达式是可以左值的,
*c = 200;//这样的修改,也是对c指针指向的对象重新赋值,所以也会影响到a2的值。
cout << "a1:" << a1 << ":地址" << &a1 << endl;
cout << "a2:" << a2 << ":地址" << &a2 << endl;
cout << "a3:" << a3 << ":地址" << &a3 << endl;
cout << "b :" << b << ":地址" << &b << endl;
cout << "c :" << *c << ":地址" << c << endl;
/**
1.引用变量开始必须被初始化,是一个别名.
2.一旦定义了引用变量 那么b的使用与原来的变量a1 一样没有区别.所以单独定义引用变量是没有太大意义的,在c++中增加的引用变量的作用是为了才函数传递的时候方便.
3.指针变量可以被重新赋值
4.指针变量不需要被初始化
5.指针变量的使用* 与引用变量都会对对象数据进项更改
*/
c++中普通变量,引用变量 ,指针变量用实例让你亲自体会
最新推荐文章于 2025-05-16 14:16:27 发布