C語言全局變量和局部變量有以下區別:
作用域:全局變量的作用域是整個程序,可以在任何函數中使用;而局部變量的作用域僅限于定義它的函數內部,在函數外部無法訪問。
生命周期:全局變量的生命周期是整個程序的執行期間,即在程序開始運行時創建,在程序結束時銷毀;而局部變量的生命周期只存在于它所屬的函數的執行期間,當函數執行結束后,局部變量會被銷毀。
內存分配:全局變量在程序運行時被分配在靜態存儲區,即全局變量的內存空間在程序開始運行時就已經分配好;而局部變量在函數調用時才被分配在棧上,函數調用結束后會被自動釋放。
默認初始化:全局變量會被自動初始化為0或空值,如果沒有顯式賦值;而局部變量不會被自動初始化,需要手動賦值才能使用。
訪問權限:全局變量可以在程序的任何地方訪問和修改;而局部變量只能在定義它的函數內部訪問和修改。
作用:全局變量一般用于在多個函數中共享數據;而局部變量一般用于在函數內部臨時存儲數據。