全域性變數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 一般程式把新產生的動態資料存放在堆區,函式內部的自動變數存放在棧區。自動變數一般會隨著函式的退出而釋放空間,靜態資料 即使是函式內部的靜態區域性變數 也存放在全域性資料區。...