區域性變數vs全域性變數,區域性變數打斷全域性變數的傳遞!

2021-08-21 08:06:06 字數 1292 閱讀 3809

全域性變數global variable

全域性變數會降低程式可讀性!!!

全域性變數作用範圍:定義始至檔案尾;

全域性變數與區域性變數同名,則在區域性變數的作用範圍內,全域性變數被遮蔽。

全域性變數增加了程式的耦合度,如果乙個全域性變數可以被多個

要限制使用全域性變數!

區域性變數local variable

不同的函式及作用域中可以使用相同名字的區域性變數,它們在記憶體中分屬不同的儲存區間,互不干擾。

復合語句的作用

大家都知道  case裡邊不允許宣告變數。。

但是就像宣告,而且用完就去掉怎麼辦??

答案就是:符合語句加區域性變數

大括號括起來,裡邊宣告變數,區域性變數出作用域,自動釋放。

區域性變數有神馬效果??

區域性變數又稱為自動變數,就是在棧區的變數,出作用域,會自動釋放的變數

效果就是不用你手動去釋放變數的空間,出作用域系統會自動釋放。。。

與自動變數相對應的是static變數,就是靜態變數,它是在全域性區的變數,出作用域不會自動釋放的變數

/*

*作 者:hh

*完成日期:2023年7月10日

*版本號:v1.0

**問題描:;全域性變數vs區域性變數!區域性變數打斷全域性變數的傳遞!

*輸入描述:;

*程式輸出:;。

*/#includevoid fun1();

void fun2();

int x=1;//定義x為全域性變數

int main()

/*定義1

功能:引數:

返回值:

演算法:*/

void fun1()

/*定義2

功能:引數:

返回值:

演算法:*/

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

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

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

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

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

對於乙個完整的程式,在記憶體中的分布情況如下圖 區 low address 全域性資料區 堆區 棧區 high address 一般程式把新產生的動態資料存放在堆區,函式內部的自動變數存放在棧區。自動變數一般會隨著函式的退出而釋放空間,靜態資料 即使是函式內部的靜態區域性變數 也存放在全域性資料區。...