网站打不开显示asp,注册域名的网站,网络技术有限公司是什么,牛年起广告公司名字引用 1.1 变量名 变量名实质上是一段连续存储空间的别名#xff0c;是一个标号(门牌号) 通过变量来申请并命名内存空间. 通过变量的名字可以使用存储空间. 问题#xff1a;对一段连续的内存空间只能取一个别名吗#xff1f; 1.2 引用的概念 变量名#xff0c;本身… 引用 1.1 变量名 变量名实质上是一段连续存储空间的别名是一个标号(门牌号) 通过变量来申请并命名内存空间. 通过变量的名字可以使用存储空间. 问题对一段连续的内存空间只能取一个别名吗 1.2 引用的概念 变量名本身是一段内存的引用即别名(alias). 引用可以看作一个已定 义变量的别名。 引用的语法Type name var; 用法如下:
#include iostream
using namespace std;
int main(void)
{
int a 10; //c编译器分配4个字节内存, a内存空间的别名
int b a; //b就是a的别名a 11; //直接赋值{
int *p a; *p 12; cout a endl; } b 14; cout a a , b b endl;
return 0;
}
1.3 规则 1 引用没有定义,是一种关系型声明。声明它和原有某一变量(实体)的关 系。故 而类型与原类型保持一致,且不分配内存。与被引用的变量有相同的地 址。 2 声明的时候必须初始化,一经声明,不可变更。 3 可对引用,再次引用。多次引用的结果,是某一变量具有多个别名。 4 符号前有数据类型时,是引用。其它皆为取地址。
int main(void)
{
int a,b;
int r a;
int r b; //错误,不可更改原有的引⽤用关系
float rr b; //错误,引⽤用类型不匹配 coutarendl; //变量与引⽤用具有相同
的地址。
int ra r; //可对引⽤用更次引⽤用,表⽰示 a 变量有两个别名,分别是 r 和 ra
return 0;
}
1.4 引用作为函数参数 普通引用在声明时必须用其它的变量进行初始化引用作为函数参数声 明时不进行初始化。
#include iostream
using namespace std;
struct Teacher
{
char name[64];
int age ;
};
void printfT(Teacher *pT)
{ cout pT-‐age endl;
}
//pT是t1的别名 ,相当于修改了t1
void printfT2(Teacher pT)
{ pT.age 33; coutpT.ageendl;
}
//pT和t1的是两个不同的变量
void printfT3(Teacher pT)
{ coutpT.ageendl; pT.age 45; //只会修改pT变量 ,不会修改t1变量
}
int main(void)
{ Teacher t1; t1.age 35; printfT(t1); printfT2(t1); //pT是t1的别名printf(t1.age:%d \n, t1.age); //33printfT3(t1) ;// pT是形参 ,t1 copy⼀一份数据 给pTprintf(t1.age:%d \n, t1.age); //33
return 0;
}