全域性變數(global variable)是變數的一種型別,區別於區域性變數。若將乙個變數宣告為全域性變數,則它所佔的記憶體為全域性記憶體,而不是本地工作區記憶體。因此全域性變數就可以被所有工作區訪問,修改。
在函式間共用全域性變數
定義兩個函式檔案,setglobalx和getglobalx
**
%設定全域性變數的值
function setglobalx(var)
global x
x=var;
end
%獲取全域性變數的值
function r=getglobalx
global x
r=x;
end
%使用全域性變數來進行計算
function useglobax
global x
r=sprintf('使用全域性變數x=%f來進行計算',x); %實際問題中,這裡為包含x的計算表示式
disp(r);
end
輸出結果>> setglobalx(22)
>> r=getglobalx
r = 22
>> useglobax
使用全域性變數x=22.000000來進行計算
在函式與命令行間公用全域性變數
同理,要在命令列中訪問全域性變數。只需宣告一下即可:
global x
**
同上例輸出結果
>> x
未定義函式或變數 'x'。
>> global x
>> x
x = 22
Matlab之全域性變數
通過全域性變數可以實現matlab工作空間變數空間和多個函式的函式空間的共享,這樣,多個使用全域性變數的函式和matlab工作空間共同維護這一全域性變數,任何一處對全域性變數的修改,都會直接改變此全域性變數的取值。在應用全域性變數事,通常在各個函式內部通過global variable語句宣告,在命...
static全域性變數 全域性變數
1 全域性變數 外部變數 的說明之前再冠以static 就構成了靜態的全域性變數。全域性變數本身就是靜態儲存方式,靜態全域性變數當然也是靜態儲存方式。這兩者在儲存方式上並無不同。這兩者的區別在於非靜態全域性變數的作用域是整個源程式,當乙個源程式由多個原始檔組成時,非靜態的全域性變數在各個原始檔中都是...
全域性變數的使用
什麼是全域性變數呢?我們知道,全域性變數是這樣的變數,他們能夠在這個程式中的任何位置都被使用,也就是說,不管是main函式中,還是我們自己寫出來的函式中,都可以無條件的使用他們,雖然這對於我們看來很是方便,但是他隱含的卻違背了結構化的程式設計思想,所以在我們程式化的設計過程中,應該少用全域性變數。在...