C程序中的每一个元素变量或函数都

北京中科白瘕风是几级医院 https://mjbk.familydoctor.com.cn/bjbdfyy/pj/

/**************************************************************************

C++程序中的每一个元素都是有地址的,不管什么时候运行一个程序,都是首先把它装入(一般从磁盘装入)计算机内存,因此程序中的所有元素都驻留在内存的某处。我们从一个简单的C++程序来查看这些元素在内存的分布情况。

***************************************************************************/

//一个简单查看变量和函数在内存中的地址

#include

usingnamespacestd;

//定义三个全局变量

intboy,girl,man;

//定义一个函数

voidfun()

{

//函数内部定义三个局部变量

inta,b,c;

//通过运算符分别打印三个变量的地址到显示屏上

//(long)是一种类型转换便于阅读,这个类型转换不是必须的,如果没有,地址将以十六进制形式打印

coutfun()函数中局部变量a的地址(long)aendl;

coutfun()函数中局部变量b的地址(long)bendl;

coutfun()函数中局部变量c的地址(long)cendl;

}

intmain()

{

//main函数中定义三个整型变量

intx,y,z;

//通过运算符分别打印各个变量和函数的地址到显示屏上

cout全局变量boy的地址(long)boyendl;

cout全局变量girl的地址(long)girlendl;

cout全局变量man的地址(long)manendl;

coutendl;//输出换行分隔开以便查看

coutfun()函数的地址(long)funendl;

coutendl;//输出换行分隔开以便查看

fun();//调用fun()打印函数内的局部变量的地址

coutendl;//输出换行分隔开以便查看

coutmain()函数中变量x的地址(long)xendl;

coutmain()函数中变量y的地址(long)yendl;

coutmain()函数中变量z的地址(long)zendl;

system(pause);

return0;

}

程序在我的电脑运行的结果如下:

可以看到在main()函数的内部和外部定义的变量以及在fun()函数内部定义的变量存放在不同的区域,同样,fun()函数也有它自己的区域,在内存中代码和数据一般都是分开存放的。

另一个值得注意的有趣事情是:相继定义的变量在内存中是连续存放的,它们根据各自的数据类型所要求的字节数分隔开,这个例子中的变量都是使用整形,所以它们分别都是按4个字节分隔开。




转载请注明:http://www.aierlanlan.com/grrz/4575.html