内存四区

内存四区分配图:

---------------------

|    堆区    |

---------------------

|    栈区    |

---------------------

|    全局区   |

---------------------

|    代码区   | 

---------------------


 

 1 //c++编译器优化
 2 char *getStr1()
 3 {
 4     char *p = "abcd1";
 5     return p;
 6 }
 7 
 8 char *getStr2()
 9 {
10     char *p = "abcd1";
11     return p;
12 }
13 
14 void main(void)
15 {
16     int a = 0;
17     char *p1 = NULL;
18     char *p2 = NULL;
19     p1 = getStr1();
20     p2 = getStr2();
21 
22     printf("p1:%d....\n", p1);  
23     printf("p2:%d....\n", p2);
24 }

输出结果:

p1:4214884....
p2:4214884....

说明了“abcd1”处于静态代码段,应该属于全局区。

  

 

posted on 2015-04-27 22:07  Ethan_Zpy  阅读(125)  评论(0)    收藏  举报

导航