您的位置:首页 > 编程语言 > C语言/C++

C语言基础之内存分配

2016-01-02 16:40 330 查看


内存五个区域

栈区

由编译器自动编译释放,比如:

//此时将存储在常量区的字符串suica拷贝到栈区.
char string[] = "suica";


堆区

堆区需要程序员手动分配,手动释放.

在C语言中可使用malloc进行分配:

//给指针p分配一个大小的内存空间
int* p = (int *) malloc (1);


静态区

只初始化一次;如果初始化没给值,默认为0;只有程序退出才释放.

将变量定义前加static则存储在静态区

static int a = 5;


常量区

存放常量字符串,程序结束后系统释放.

int a = 10;


代码区

存放程序的二进制代码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: