C++学习--“ 指针 引用 数组 “三者使用总结

#include <iostream>
int main(){
	/*
		1.引用:
			(1)格式: 数据类型& 引用变量名 = 被引用变量名.
				eg: int a = 1;
					int& ref = a;
			(2)引用并非对象,且只能绑定在对象上,不能与字面值或某个表达式的计算结果绑定一起.
				即不能给引用变量直接负数值,只能给它赋变量名.如上例赋给ref的是变量名a.
			(3)引用必须初始化,也即必须被赋值.它相当于是在给被引用的对象起了个别名.
				eg: int& ref;
					这种不给引用初始化的操作是错误的!!!
			(4)当想要给常量加一个引用时,需要在前面加上个const.因为引用不能直接赋值字面值.
				eg: const int& ref = 100;
					这个时候ref的值就为100了,个人觉得这种操作比较傻叉.
					直接ref = 100 不就好了,干嘛要这么麻烦....
			(5)引用的使用:
				int a = 1;
				//给a起别名r.
				int& r = a;
				//此句就相当于a = 2.
				r = 2;
				cout << &a << "\t" << &r << endl;
				cout << a << "\t" << r << endl;
				我们发现输出的第一句,地址是一样的.
				第二句值也都为2,说明a的值被r给修改了.

		2.指针与数组使用:
			(1)首先要声明的是,数组名就代表该数组的首地址.
				eg: int a[] = {1,2,3};
					int* p = a;
				此句的意思是,让指针p指向数组a的首地址.
			(2)通过指向数组的首地址,则可直接通过指针来对数组中的数据进行访问了.
				eg: int a[] = {1,2,3};
					int* p = a;
					cout << p[2] << endl;
					结果为2.
					不知道你有没有发现,这里好像是在给数组a起了个别名啊,
					因为这里访问数组中的元素没有带*号,也即不是*p[2].
					原因:
						其实上面已经说到过了,数组名就代表数组的首地址,
						所以我们平时见到的 a[1],不也就相当于通过数组首地址访问数组中下标为1的元素吗.
						因为指针变量p的值在不带*号时,表示的就是一个地址.
						符合通过地址对数组进行访问的逻辑,所以这里肯定不是用*p[2]了.
	*/
	
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值