靜態變量和全局變量都是在程序的整個生命周期內存在的變量,但是它們有以下區別:
作用域不同:全局變量的作用域是整個文件,靜態變量的作用域則是在聲明它的函數內部。
生命周期不同:全局變量的生命周期是整個程序的運行期間,靜態變量的生命周期是在程序運行時分配內存,直到程序結束才釋放。
存儲方式不同:全局變量存儲在全局數據區,靜態變量存儲在靜態存儲區。
初始化方式不同:全局變量沒有賦初值時會被系統默認初始化為0,靜態變量沒有賦初值時會被系統默認初始化為0。
總的來說,靜態變量作用于局部,只能在定義它的函數內部使用,而全局變量則可以在整個程序中使用。