水神骑士联盟吧 关注:4贴子:334
  • 2回复贴,共1

关于c中内存分布

只看楼主收藏回复

IP属地:河北1楼2016-09-09 23:35回复
    #include <stdio.h>
    #include <malloc.h>
    int array1[2] ;//未初始化,储存在bss区,data区和bss区的内存地址是在一块,所以可以把他们统一看作静态区域
    int array2[] = {1,2,3,4} ;
    int main(int argc, char*argv[])
    {
    int a ;
    static int b = 1;//局部静态变量若未初始化或初始化为0,则储存在bss区,否则储存在data区
    void*c = malloc(4) ;
    printf("data:%p,static:%p,bss:%p,ro:%p,common:%p,malloc:%p\n",array2,&b,array1,"hello",&a,c) ;
    }


    IP属地:河北2楼2016-09-09 23:37
    收起回复