c++ 内存格局

全局数据区(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();}

未完待续!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值