-
#include <stdio.h>
-
-
int g_i = 100; /* A global variable */
-
int g_j; /* An uninitialized global variable */
-
-
int main ( void ) /* A function */
-
{
-
int l_i = 1; /* A local variable */
-
static int s_i = 2; /* A static local variable */
-
int c;
-
for (c = 0; c < 1000; c ++ )
-
{
-
l_i += c;
-
}
-
-
return 0;
-
}
===High address ======================================================================
stack(used to store automatic variables (non-static local variables) and the calling environment each time a function is called)
int c; 函数的形参
-------------------------
--------------------------
HEAP (managed by malloc
, realloc
and free
))
---------------------------------------------------
.bss(global variables and static variables that are not initialized)
-
int g_j; /* An uninitialized global variable */
----------------------------------------------------------------------------------------------------------------
.data (global variables and static variables that are initialized )
-
int g_i = 100; /* A global variable */
----------------------------------------------------- .data .text 组成可执行文件
Code segment = Text Segment
int l_i = 1; /* A local variable */
main();
===LOW address ======================================================================================================