内存布局

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/boshuzhang/article/details/50774232
/*
栈区:
    由编译器自动分配释放
    存放函数的参数值
    局部变量的值等
    其操作方式类似于数据结构中的栈
堆区:
    一般由程序员分配释放 若程序员不释放
    程序结束的时候可能由os回收
    注意他与数据结构中的堆是两回事
    分配方式类似于连表
静态区:
    全局变量和静态变量的存储是放在一块的
    初始化的全局变量和静态变量在一块区域 未初始化的全局变量
    程序结束由系统释放
文字常量区:
    常量字符串就是放在这里
    程序结束后由系统释放
程序代码区:
    存放函数的二进制代码
*/


int main()
{
    //只要是数组就是在栈上
    char a[] = "abc";
    char b[] = "abc";
    //只要是基础类型就是在常量区
    char* c = "abc";
    char* d = "abc";
    const char e[] = "abc";
    const char f[] = "abc";
}
展开阅读全文

没有更多推荐了,返回首页