一、引用就是一个变量的别名,对引用的操作等同于对变量本身的操作。它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。
① 声明一个引用时一定要对它初始化。
② 一个引用不能声明为两个变量的别名。
③ 不能建立引用数组,可以建立数组的引用。
④ 在函数中不能返回局部变量的引用。(当一个局部变量为静态static时,可以返回该局部变量的指针,但是引用同样不可以)
⑤ 不能返回函数内部new分配的内存的引用。
二、
变量的作用域:是变量名可以被使用的所有“代码范围”;
变量的生命周期:指变量可以被使用的“时间范围”;
三、
一般类型 局部变量:既不可以返回其指针,也不可以返回 其引用;
静态static 局部变量:可以返回其指针,但是不可以返回 其引用!
解释:
1.静态static 局部变量:
生存期:整个源程序;
作用域:函数内;(函数外不能用!)
一般局部变量:
生存期:函数内;
作用域:函数内;(函数外不能用!)
2. 引用:是看变量的“生存期” +“作用域”; 指针:是看变量的“生存期”;
引用是变量的别名,实际仍是操作“变量本身”:对于局部变量(不管是静态/非静态)而言,其作用域(不是生存期)都在函数内,所以在外部无法使用!
指针指向变量,是变量的地址,只要在变量的生存期内,指针就一样可以存在!!