變數的存儲類型可分為什麼兩種
發布時間: 2025-02-27 04:29:01
㈠ 變數的靜態存儲與動態存儲
首先,靜態存儲與動態存儲都是變數在內存中的存儲方式。
C語言中變數分為局部變數(auto)、寄存器變數(register)、全局變數(extern)、靜態變數(static)。局部變數和寄存器變數在內存中以動態存儲的方式存儲,外部變數和靜態變數在內存中以靜態存儲的方式存儲。(筆者註:C語言不存在真正意義上的「全局變數」。被習慣性誤稱為「全局變數」的,一般是文件作用域對象。參考: 全局變數-維基網路 )
靜態存儲的變數存儲在內存的靜態區,在整個程序的生命周期內不被釋放。動態存儲的變數在程序執行的過程中才分配存儲位置,使用完成後便被釋放。
靜態存儲的變數如果在聲明後沒有被初始化,則系統會根據數據類型自動將其初始化為「0」或『\0』。動態存儲的變數如果在聲明後沒有被初始化,那麼它的值是不確定的。
熱點內容