引用共用同一个内存空间,只是一个别名。ios
#include <iostream> using namespace std; int main(void) { int a=10; int &b=a; printf("&a:%d\n",&a); printf("&b:%d\n",&b); cout<<"hello..."<<endl; return 0; }
运行结果:程序员
下列结构体占多少字节?函数
struct Teacher { char name[64]; //64字节 int age; //4字节 内存对其故8字节 int &a; //32位 4字节 64位 8字节 int &b; //32位 4字节 }; int main(void) { printf("sizeof(Teacher):%d\n",sizeof(Teacher)); return 0; }
运行结果:spa
引用的本质:指针
引用的本质:code
//3引用的本质 void modifyA(int &a1) { a1 = 100; } void modifyA2(int *const a1) { *a1 = 200; //实参的地址 去间接的修改实参的值 } int main(void) { int a =10; modifyA(a); //指向这个函数调用的时候,咱们程序员不须要取a得地址 printf("a:%d \n",a); modifyA2(&a); //若是是指针 须要咱们程序员手工的取实参的地址 printf("a:%d \n",a); return 0; }
运行结果:blog
间接赋值:内存