這樣吧,我們舉個例子,假如寫一個程序就是炒一道菜,
創新互聯建站是一家集網站建設,長沙企業網站建設,長沙品牌網站建設,網站定制,長沙網站建設報價,網絡營銷,網絡優化,長沙網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力。可充分滿足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。
炒菜呢需要材料,變量呢就是你的材料,一個個的材料都放在碗里等著你用。
開始洗菜、切菜、炒菜,這一個個的過程就是函數。
最后材料和過程就結合成一道菜,這整個做菜的流程就是一個程序。
靜態變量,特點就是只初始化一次。所以在這里b是只定義一次的。
于是
1 會占用,但是很少。 和全局變量定義差不多
2 沒有,因為不存在多次定義,只定義了一次。
3 除了生命周期,最大的差別就是作用域了。
局部變量,只能在函數內訪問,而全局變量就是誰都能訪問,這樣很容易出現混亂,尤其是多線程的情況下。
除此外,非靜態的局部變量,在函數退出后內存就釋放了,如果所有變量都定義成全局的,那明顯是對內存的一種浪費。
靜態變量是一種生存期為整個源程序的量。雖然離開定義它的函數后不能使用,但如再次調用定義它的函數時,它又可繼續使用,
而且保存了前次被調用后留下的值。
第一個printf(
"%d\n",
func(k+=100)
);
k+=100,k就是200;
x++;
y++;
k++;
x=2,y=11,k=201;
所以第一次打印是214
第二個printf(
"%d\n",
func(k+=100)
);
k+=100,k就是300;
x++;
y++;
k++;
x=2,y=12,k=301;(y是靜態變量,原值不變)
所以第二次打印是315
第三個printf(
"%d\n",
func(k+=100)
);
k+=100,k就是400;
x++;
y++;
k++;
x=2,y=13,k=401;(y是靜態變量,原值不變)
所以第二次打印是416
當前題目:c語言函數點變量,c語言函數參數傳遞
本文路徑:http://m.kartarina.com/article46/hddghg.html
成都網站建設公司_創新互聯,為您提供App開發、電子商務、軟件開發、服務器托管、外貿建站、定制開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯