int&a的时候,编译器不会给a分配内存空间,因为它只是另一个变量滑或的标记;
&a是存放a的内存地址,比如变量a=1,&a就等于存放这个1的内存地址的数值;
例:
#include<stdio.h>
intmain()
{
inta[2]={1,2};
intb=5;
int*p1=a;
int*p2=&a;
printf("b:%d&b:%d\n",b,&b);
printf("a[]:%d&a[]:%d\n",*p1,*p2);
getch();
return0;
}
扩展资料
int&b=i;//这里b是信键伍一个引用,它是变量i的引用引用就是指针,对亮晌比如下程序:
voidfunction(int*a)
{
*a=100;
}intmain(){
intx=200;
int*b=&x;
function(b);
return(0);
}
voidfunction(int&a)
{
a=100;
}intmain(){
intx=200;
function(x);
return(0);
}
int&a应该也是voidfunction(int&a)传递参数