#C語言初學#在敲代碼時候在定義變量前面有時候會有static修飾,有什麼用呢?我就假假的自問自答一波,畢竟也看過書。在C語言中內存是分了五個區的代碼區,常量區,全局數據區,堆區,棧區。靜態變量就存放在全局數據區。一般我們定義的變量都在棧區。什麼時候可以用static呢,比如說想做函數多次調用遞加

就像這個代碼樣,你不管在多次調用fun函數他的返回值永遠就只有1。那是fun的函數裡面的變量a它的值是存放在棧區的,棧區有個特點,在fun函數調用完的時候a 就會被釋放。所以下次進入fun函數時a重新。但是要是a是個靜態變量它就會存儲在全局數據區在fun函數結束後靜態變量a就不會消失,進入下一次fun函數後就繼續調用a的值不會重新。

當然這是我想用靜態變量完成的功能,靜態變量有時用法還是很靈活的,畢竟程序就為了完成我們自己的想法。你想法有好豐富,你就可以編寫很靈活的代碼,當然這是我的看法,還是不能太當真。
代碼初學者,有錯 誤就提喲,學習嘛
魚頭小怪