慕課c語言筆記之全域性變數 伏虎山真人

2021-10-04 20:59:05 字數 910 閱讀 8732

文中內容是我近期學習c語言所留下來的筆記,上傳平台是為了儲存防止誤刪造成筆記丟失,自學不易,跪求瀏覽筆記的朋友給個贊

全域性變數

定義在哈數外面的變數是全域性變數

全域性變數有全域性的生存期和作用域

他和任何函式都無關,但所有的函式都可以訪問全域性變數

在任何函式內部都可以使用他們

全域性變數的作用域是全域性,即所有函式都可以對其訪問操作

全域性變數若沒有得到初始化會自動預設為0,如果全域性變數是指標的話會得到null

只能用編譯時刻已知的值來初始化全域性變數同時不能用變數來賦值給全域性變數除非在變數名前加const

他們的初始化發生在main函式之前

如果函式內部有和全域性變數同名的變數,則全域性變數被隱藏

靜態本地變數

在本地變數的定義時加上static修飾符就成為了靜態本地變數

當函式離開時,靜態本地變數會繼續存在並保持其值

靜態本地變數的初始化指揮在第一次進入這個函式時做,以後進入函式時會保持上次離開時的值

靜態本地變數實際上是特殊的全域性變數

他們位於相同的記憶體空間

靜態本地變數舉有全域性的生存期,函式內的區域性作用域

static在這裡的意思時區域性作用域(本地可訪問)

返回指標的函式

返回本地變數的位址是危險的,本地變數的位址可能被占用,因為本地變數的生存期過了就相當於這個變數沒了,可以傳入新的變數在舊的變數位址上。就像是租房子一樣

返回全域性變數或者靜態本地變數的位址是安全的

返回在函式內malloc的記憶體是安全的,但是容易造成問題

最好的做法時返回傳入的指標

小提醒不要用全域性變數來在函式間傳遞引數和結果

盡量避免使用全域性變數

使用全域性變數和靜態本地變數的函式是執行緒不安全的

c語言全域性變數

text.件中 ifndef text h define text h ifdef define ext else define ext extern endif 呼叫text.c中的cont整形變數 ext int cont 例如要定義乙個結構體的全域性變數 struct system1 ext ...

Python學習筆記之全域性變數

在python中,使用全域性變數是需要使用global關鍵字進行申明的,否則會出問題。例如這樣的一段 python就會報錯 python view plain copy usr bin python filename use global.py author boyce email boyce.yw...

Python學習筆記之全域性變數

在python中,使用全域性變數是需要使用global關鍵字進行申明的,否則會出問題。例如這樣的一段 python就會報錯 python view plain copy usr bin python filename use global.py author boyce email boyce.yw...