c語言的變量存儲方式靜態存儲方式與動態存儲方式(具體:自動的、靜態的、寄存器的register、外部的extern)在內存中的用戶的存儲空間分為:程序區、靜態存儲區、動態存儲區。靜態存儲方式:在程序運行期間,系統對變量分配的固定空間。動態存儲方式:在程序運行期間,系統對變量分配的動態空間1>用static來聲明靜態局部變量,局部變量的值在函數結束后不消失而保留原值,即其占用的存儲單元不釋放,在下一次該函數調用時,該變量保留上次函數調用結束時的值。靜態局部變量的默認值為0.2>動態的局部變量當函數體被調用完畢時,變量的空間被釋放。舉例:#include<stdio.h>int main(){ int i=0; for(i=0;i<3;i++) { fun1(); fun2(); }}//自動變量void fun1(){ int a=10; a++; PRintf("輸出自動變量a的值:%d/n",a); }//局部靜態變量void fun2(){ static int a=3 a++; printf("輸出靜態局部變量a的值:%d/n",a);}輸出結果:說明:靜態局部變量是只有在編譯的時候賦初始值,即只賦初始值一次,在程序運行的時候它已經有初始值,那么之后再調用函數的時候不在重新對變量進行初始值賦值,而是對保留上一下車函數調用結束的值。
新聞熱點
疑難解答