正文段:CPU執行的機器指令部分。 初始化數據段:通常將此段稱為數據段,包含了程序中需明確的賦初始值的變量。比如說,c 程序中出現在任何函數之外的聲明。靜態變量都在 初始化數據段:static int i = 1000;全局變量int test = 100; 非初始化數據段: 一般我們稱為 bss 段,這一名稱來源于早期的匯編運算符,意思是 block started by symbol , 在程序開始執行之前,kernel 會將這個 bss 段中的數據全部初始化為0或者是空指針。比如說:未初始化局部變量:static int chen;全局變量:ing test1[100];
寫一段簡單的代碼,看一下上面的內存分布, 名字是test.c:
#include <stdio.h> void test(void) { printf("This is test function\n"); } int main(void) { printf(" This is main function\n"); return 0; } 看一下這個代碼生成可執行文件的各個內存分布:sbc_7109_454_pdk3@aplex:~/test/c_program$ gcc test.c -o testsbc_7109_454_pdk3@aplex:~/test/c_program$ size testtext data bss dec hex filename1229 552 8 1789 6fd test 然后,我們在里面加一個局部變量,全局變量: 
 在看一下局部靜態變量: 