64,654
社区成员
发帖
与我相关
我的任务
分享
int m_ivalue=3;
int * p; //定义,不过为null
随后我们可以 p=&m_ivalue;
但是引用不能为空引用。必须在定义的时候就制定好引用对象
int &Refvalue=m_ivalue;
同时赋值操作,对指针的赋值操作是改变了指针的值
而对引用的赋值操作是改变了,它引用对象的值
int x;
p=&x;//p指向了x
Refvalue=3;//是m_ivalue的值变为了3
int a = 1;
int *p = &a;//p保存a的地址值
*p = 2; //访问a,赋值为2
if(a == 2)
{
printf("yes!\n");
}
int a = 1;
int &b = a;//给a起个别名叫b
b = 2;//a 和 b实质对应同一个内存实体,改变b就是改变a
if(a == 2)
{
printf("yes!\n");
}
void f(int *b)//指针
{
*b = 2; //访问所指变量
}
void g(int &b) //引用
{
b = 2; //访问被引用变量
}
void main()
{
int a = 1;
f(&a); //取地址给指针
if(a == 2) //a改变了
{
printf("yes!\n");
}
a = 1; //回复a
g(a); //传给引用
if(a == 2) //a改变了
{
printf("yes!\n");
}
}