全域性 區域性變數

2021-08-06 07:40:43 字數 899 閱讀 5038

一、全域性變數

1.全域性變數:定義在函式外的變數

(1)普通全域性變數    int g_a;

(2)靜態全域性變數   static int g_a;

2.如何引用全域性變數?

//引用全域性變數加extern

(1)extern int g_b;    

(2)extern int min(int a,int b);    

二、區域性變數

1.區域性變數:在函式內部定義的變數,包含形參

(1)普通區域性變數   

(2)靜態區域性變數    很少用,但常考

void fun()

三、函式

(1)普通函式

(2)靜態函式    用static修飾,使用得多

(3)static:修飾鏈結屬性;const:定義常變數

變數比較

變數名生命週期

作用域預設值

記憶體區域

鏈結屬性

普通全域性變數

程式執行開始建立,

程式退出才銷毀

從定義開始一直到

本檔案的結束都能使用

0全域性變數區

外部(其它檔案也能用)

靜態全域性變數

同上同上

0全域性變數區

內部(只能在本檔案使用)

普通區域性變數

進入函式時建立,

函式退出則銷毀

只在本函式內部有效

隨機值棧

無靜態區域性變數

第一次進入函式時建立,

直到程式結束時銷毀

×0全域性變數區

無動態變數

malloc建立,free釋放

×隨機值堆無

函式無無無

**段普通函式:外部

靜態函式:內部

全域性 區域性 變數

在def中,我們可以定義乙個區域性變數,這個變數a只能在這個功能fun中有效,出了這個功能,a這個變數就不是那個區域性的a.def fun a 10 print a return a 100 print fun 10 110 def fun a 10 區域性變數 return a 100 print...

全域性變數 靜態全域性變數 靜態區域性變數 區域性變數

全域性和靜態變數都在堆裡。這句話應該錯了,應該是放在常量資料段 全域性變數的作用範圍是整個程式 如果程式是多個檔案,必須在其他的檔案中說明 靜態變數的作用範圍要看靜態變數的位置,如果在函式裡,則作用範圍 就是這個函式。靜態全域性變數,只在本檔案可以用,雖然整個程式包含多個檔案,但靜態全域性變數只能用...

全域性變數 靜態全域性變數 靜態區域性變數 區域性變數

全域性和靜態變數都在堆裡。全域性變數的作用範圍是整個程式 如果程式是多個檔案,必須在其他的檔案中說明 靜態變數的作用範圍要看靜態變數的位置,如果在函式裡,則作用範圍 就是這個函式。靜態全域性變數,只在本檔案可以用,雖然整個程式包含多個檔案,但靜態全域性變數只能用在定義它的那個檔案裡,卻不能用在程式中...