引用共用同一個內存空間,只是一個別名。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
間接賦值:內存