int &n与int *n有什么区别,int* &n是什么意思

来源:百度知道 编辑:UC知道 时间:2024/09/22 18:17:19
int &n与int *n有什么区别,int* &n是什么意思

int *n;说明n是一个指向整数型变量的指针;
一般用法:
int *n;
int m;
m = 100;
n = &m;
这样n就是一个指向m变量的整数型指针,修改*n相当于修改m

int &n;说明n是一个整数型变量的别名,定义&n必需要进行初始化,否则编译报错。
一般用法:
int m[10];
int &n = m[3];
这样n就是m数组第三个变量的一个别名,操作n相当于操作m[3],m[3]和n的物理地址是重合的,只是称呼名称不一样。

int *&n;说明n是一个整数型指针的别名;
一般用法:
int m = 100;
int *d = &m;
int *&n = d;
*n = 99; // 为m和*d赋值为99
d是一个指向m的整数型指针,n是d的另外一个操作别名;

int &n = a ,引用,简单地理解就是两个变量完全一样,占用内存地址也一样,对其中一个操作能影响到另外一个。不过再详细点我也不明白了,这个是C++中新增加的。
int* &n没见过……

int &n是一个引用
如 int a=4;
int &n=a;//此时,n 是a的一个别名

没有int &n和int* &n这样的用法。