c程序中的内存布局

在一个c程序中,将内存分为:

  代码区:

  常量区:存放的一些常量

  静态存储区:存放全局和静态变量

  堆:

  栈:

复制代码
int a = 0; //全局初始化区
char *p1; //全局未初始化区
main()
{
    int b;// 栈
    char s[] = "abc"; //就在栈上
    char *p2; //栈
    char *p3 = "123456"; //123456\0在常量区,p3在栈上,通过p3来指向常量的地址
    static int c =0; //全局(静态)初始化区
    p1 = (char *)malloc(10);  //堆
    p2 = (char *)malloc(20);  //堆
}
复制代码

 

s[] = "abc"//在栈上定义一个字符数组,并给其赋值为abc

char *p3 = "123456"//定义一个指针,该指针指向123456字符窜所在的地址,123456存在在常量区

 

posted @   踏浪而来的人  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示