void Input(double*p)
{//输出型参数
*p = 888.88;
}
int main()
{
double d1, d2;
Input(&d1);//C++都是掩盖了事实,写起来舒服
Input(&d2);
return 0;
}
void Input(double& d)
{//输出型参数
d = 888.88;
}
int main()
{
double d1, d2;
Input(d1);//C++都是掩盖了事实,写起来舒服
Input(d2);
//0x0000000C864FF908
return 0;
}
存在一个隐藏的指针变量
栈空间:
-
栈空间用于存储函数调用时的局部变量、函数参数以及返回地址等。每个线程都有独立的栈。
-
栈空间的大小是有限的,通常由操作系统或者编译器在程序启动时设置。栈空间的大小一般比较小,且无法动态调整。
-
如果栈空间使用过多(例如递归调用太深,或者局部变量过多),会导致 栈溢出(stack overflow)
#include <iostream>
int main()
{
int m = 888;
int& n = m;//等价于int * p = &m;
//引用也叫做别名变量
n = -1;//等价于*p = 999;
return 0;
}




64位下,后面定义的变量地址空间更大, 分配的呈现方式跟栈空间分配相反。栈空间通常是 从高地址向低地址,
