某悦的每日面试题打卡1

本文详细介绍了C++中的引用与指针的区别,包括它们的内存分配、初始化、多级引用与指针、自增运算、sizeof操作以及访问方式等。引用作为变量的别名,不需分配内存,初始化后不可改变;而指针是实体,可分配内存,可随时改变指向。引用没有多级引用,指针则有多级。在函数调用中,引用作为参数相当于传址,指针则是传值。此外,引用必须连接到合法内存,不存在空引用,而指针可以为空。
摘要由CSDN通过智能技术生成

1.引用和指针的区别 

引用只是变量的别名,不需要分配内存空间

指针是一个实体,需要分配内存空间     

引用在定义的时候必须进行初始化,并且不能够被改变

指针在定义的时候不一定要初始化,可以在任意时间被初始化,并且指向的空间可变

引用不存在多级引用,只能有一级引用

指针多级指针(例如二级指针:指向指针的指针)

当进行自增运算时:

引用的变量值加一

指针是指向下一个空间

sizeof 引用得到的是所指向的变量(对象)的大小

sizeof 指针得到的是指针本身的大小

引用访问一个变量是直接访问

指针访问一个变量是间接访问

引用的实质是传地址,传递的是变量的地址

指针的实质是传值,传递的值是指针的地址 

一旦引用被初始化为一个对象,就不能被指向到另一个对象

指针可以在任何时候指向到另一个对象

不存在空引用 引用必须连接到一块合法的内存

存在空指针

相关基础知识:

(1)引用举例

声明一个变量i

int i = 1;

为i声明引用变量

int&  y = i;

& 读作引用。此声明可以读作 "y 是一个初始化为 i 的整型引用"

(2)引用用法

引用作为参数:C++支持把引用作为参数传给函数,这比一般的参数更安全

引用作为返回值:可以从C++函数中返回引用,就像返回其他数据类型一样

(3)指针举例

   int  y = 1;   // 实际变量的声明
   int  *u;      // 指针变量的声明
 
   u = &y;       // 在指针变量中存储 y 的地址
 
   // 输出实际变量的值
   cout << y << endl;
 
   // 输出在指针变量中存储的地址
   cout << u << endl;
 
   // 访问指针中地址的值
   cout << *u << endl;

输出结果:

1

008FFA50

1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值