指针和引用的区别

一、引用就是一个变量的别名,对引用的操作等同于对变量本身的操作。它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。

      ① 声明一个引用时一定要对它初始化

      ② 一个引用不能声明为两个变量的别名。

      ③ 不能建立引用数组,可以建立数组的引用。

     ④ 在函数中不能返回局部变量的引用。(当一个局部变量为静态static时,可以返回该局部变量的指针,但是引用同样不可以)

     ⑤ 不能返回函数内部new分配的内存的引用

二、

变量的作用域:是变量名可以被使用的所有“代码范围”

变量的生命周期:指变量可以被使用的“时间范围”;

三、

一般类型 局部变量:既不可以返回其指针,也不可以返回 其引用;

静态static 局部变量:可以返回其指针,但是不可以返回 其引用!

解释:

1.静态static 局部变量:

       生存期:整个源程序;

       作用域:函数内;(函数外不能用!

一般局部变量:

       生存期:函数内;

       作用域:函数内;(函数外不能用!

2. 引用:是看变量的“生存期” +“作用域”; 指针:是看变量的“生存期”

引用变量的别名,实际仍是操作“变量本身”:对于局部变量(不管是静态/非静态)而言,其作用域(不是生存期)都在函数内,所以在外部无法使用!

指针指向变量,是变量的地址,只要在变量的生存期内,指针就一样可以存在!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值