昨天在寫項目時,想要把獲取到的臨時變量放入一個全局變量,為以后的使用做准備,結果總是出錯,今天做了一個小程序,放在這里備用。
自定義函數:
global_p.m
function y=global_p(x) %H1注釋行 %測試全局變量的用法 global p; %3、聲明p是全局變量 p=p+1; %4、對全局變量p的操作 fprintf('全局變量須先聲明,然后操作:自加一次\n'); y=1; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
調用函數test_global.m:
clc; clear; % 測試說明: % 本程序主要是測試全局變量的使用,以及對其的改變操作 % 自定義函數的輸入變量(形參)和輸出變量均沒有意義,只是為了匹配格式而定義的 global p; %1、定義p是全局變量 p=0; %2、p初始化 for i=1:5 result=global_p(0); %5、調用函數 end
總體來說,就是先聲明一下,然后再初始化或操作吧。
附官方說明:
全局內存是指內存的一種特殊類型,它能夠被所有的工作區訪問。如果一個變量在函數中被聲明全局變量,那么它將占用的是全局內存,而不是本地工作區。
如果相同的變量在另一個函數中被聲明為全局變量,那么這個變量所占有內存區域就是第一個函數中的相同變量。
最好把全局變量聲明在函數的開頭,這樣可以區別於本地變量。
在一個程序,你能利用全局內存,在函數之間對大規模數據進行交換。