全局数据区(data area)
全局变量、静态数据、常量存放在全局数据区;
代码区(code area)
所有类成员函数和非成员函数代码存放在代码区;
栈区(stack area)
为运行函数而分配的局部变量、函数参数、返回数据、返回地址等存放在栈区;
堆区(heap area)
其余的空间都被称为堆区。用户动态申请内存空间(需显示释放,delete或free)分配在堆区。
一 . 全局变量
1. extern 用法
extern变量,即外部变量(全局变量),是在函数的外部定义的,它的作用域从变量的定义出开始到本程序文件的结束。在此有效作用域内,extern变量可以为程序中各个函数使用。编译时,extern变量与static变量分配在静态存储区。
1.1 extern使用举例
/*test.h*/
class test()
{
public:
test();
~test();
void show(){ printf("----------hello world!---------\n"); }
}
extern test my_test;
/*test.cpp*/
#include<stdio.h>
#include<stdlib.h>
test my_test; //此处与test.h头文件中的extern test my_test相对应
test::test(){}
test::~test(){}
void test::show(){ printf("----------hello world!---------\n"); }
//
/*main.cpp*/
#include"test.h"
int main()
{my_test.show();}
未完待续!