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

作者&投稿:茹都 (若有异议请与网页底部的电邮联系)
int* n和int *n有什么区别~

没有区别
int* n;
int *n;
int * n;
都是合法的,而且作用是相同的。都是定一个整型指针变量n

int f(int m,int &n)
形参m是传值,它的作用是接收实参传过来的值,接收后与实参没有联系,对m的修改不会反馈到实参中;
形参n表示引用,它的作用是与实参共用一个存储单元,对n的修改就是对实参的修改。

int &n与int *n区别为:n性质不同、初始化不同、实际修改不同。int* &n意思是指向整数型变量的指针别名。

一、n性质不同

1、int &n:int &n的n是一个整数型变量的别名。

2、int *n:int *n的n是一个指向整数型变量的指针。

二、初始化不同

1、int &n:int &n需要进行初始化,否则编译报错。

2、int *n:int *n不需要进行初始化,指向的整数型变量初始化,即可编译。

三、实际修改不同

1、int &n:int &n修改n实际修改的是整数型变量自己。

2、int *n:int *n修改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这样的用法。


芦山县18052797455: int &n与int *n有什么区别,int* &n是什么意思 -
包爱每素: int &n与int *n区别为:n性质不同、初始化不同、实际修改不同.int* &n意思是指向整数型变量的指针别名.一、n性质不同1、int &n:int &n的n是一个整数型变量的别名.2、int *n:int *n的n是一个指向整数型变量的指针.二、初始化不同1、int &n:int &n需要进行初始化,否则编译报错.2、int *n:int *n不需要进行初始化,指向的整数型变量初始化,即可编译.三、实际修改不同1、int &n:int &n修改n实际修改的是整数型变量自己.2、int *n:int *n修改n实际修改的是指向的整数型变量,而不是指针自己.

芦山县18052797455: (int)x+y 与(int)(x+y)的作用一样吗 -
包爱每素: 不太一样,如果x,Y是整数就一样,如果x,Y是小数,那就不一样了前者是把X转成INT再加上Y 后者是X+Y后转成INT前者得到的结果可能是整数可能是小数 后者结果一定是整数 以上都是以X,Y均为数字为前提

芦山县18052797455: Java中 int[ ] n 和 int n[ ]区别 -
包爱每素: 首先java建议用前者 执行过程:前者是定义一个叫做n的int数组(类型上就是数组,定义了一个变量).后者是定义int,但这个int变量n是一个数组(类型上不是数组,定义了一组变量).不过两句话结果一样,灵活使用即可.望采纳~

芦山县18052797455: int&与int的区别 -
包爱每素: int&是引用,可以说是一个变量的别名,在定义时必须绑定到一个变量 比如int i = 0; int& n = i; n++; 这时i = 1 一般用在函数参数中 比如交换两个数 void Swap(int& a, int& b) {int temp = a;a = b;b = temp; } 这样调用这个函数 int x = 2, y = 3; Swap...

芦山县18052797455: C语言 指针中*p=&n; ,是什么意思呢,和*p,p=&n;,有什么区别和关系呢?在什么情况下可以用*p=&n呢 -
包爱每素: *p=&n这个只能是在定义指针p时使用,例如int *p=&n. 而p=&n,是在已经定义好指针p的前提下用,例如:int *p; p=&n; 如果给指针P赋值,是不可以用*p=&n的,因为此时*p代表它所指向的变量的值.

芦山县18052797455: 程序中int&n是什么意思? -
包爱每素: int&是引用,也就是说传递的是变量n的地址,在函数中如果改变了n的值,那么n所代表的实参的值也同样改变.

芦山县18052797455: int a = 10; int* p = &a; int* &n = p; 请问最后一句int* &n = p; 是什么意思,该如何理解? -
包爱每素: int *p = &a; 是让p指向a, p 是个地址. 你可以这样理解: int a; int &n=a; //定义引用n,它是变量a的引用,即别名 int *(&n) = p;这样分开好理解了吧,&n 是一个引用,就是让n和p指向同一个地址.

芦山县18052797455: C++中int和int&怎么区分?到底什么时候该用int,什么时候改用int&呢? -
包爱每素: int & 表示引用,也就说,给一个变量取了一个别名,其实他们还是同一个变量,主要用在函数的形参中,如果你不希望被调函数去改变主调函数中传递过去的数值,那么你可以采用按值传递,也就是形参中用int型,如果你希望被调函数去改变...

芦山县18052797455: C++中,int &function() 和int *function()有什么区别啊? -
包爱每素: 第一个的返回值是一个引用,如果返回的是产生的临时变量的引用,在函数调用中是很危险的.(引用是不占用空间的——只是个别名) 如3楼所述“前者是引用返回,一般为了实现表达式连写”,一般出现在C++的重载运算符里面,返回的一般都this指针所指示的内容.第二个的返回值是一个指针,比较灵活,指针是占用空间的.

芦山县18052797455: int& 是什么意思,怎么使用,最好能给个例子,谢谢! -
包爱每素: int& 实际上 两个类型的组合,就是“ 整型 + 引用 ” 的组合类型,引用的意思就相当于给一个变量起了个别名,你操作这个别名,也就操作了他本身

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网