Delphi三種變量申明范圍的理解+變量和常量


大體的三種解釋是這樣的

全局變量:是指在類外聲明的變量,通常這種變量時在整個工程內有效的,也就是說在整個工程中的類都可以使用。該變量的生存周期是在工程創建時有效,工程銷毀時銷毀。

類變量:是指在類中聲明的變量,這種變量在類中的方法都可以使用。其生命周期是在類創建時有效,類銷毀時銷毀。

局部變量:是指在方法內部聲明的變量,這種變量只能在方法內部使用。其生命周期也是在方法內部有效,當方法調用結束后,其內部所聲明的變量也隨之銷毀

全局變量放在public底下。類似於vb中類模塊中的public a as string  全局變量

類變量private底下.我個人理解為何vb差不多。是在類模塊中的全局變量。窗體不可使用。

局部變量就很好理解。窗體中的局部變量 事件中的局部變量

不知道是不是這樣的意思。如果不是以后學習中再改進

 '=======================================我是分割線====

全局變量:

如果我們在應用程序一個單元中的interface關鍵字和implementation關鍵字之間的區域,定義一個全局變量,假如這個單元在別的地方被引用,那么這個單元的全
局變量能夠在別的地方被訪問到,當然我們也可以在應用程序一個單元中的implementation關鍵字的后面定義全局變量,不過此時在這里定義的全局變量只能在本
單元中被訪問到,也就是說它是這個單元私有的,在別的單元中將不能被訪問到。全局變量在應用程序的數據區分配內存,它存在於可執行模塊(EXE或DLL等)的
文件影像內部,在程序編譯期就被決定,直到應用程序結束,全局變量所占用的內存地址是固定不變的。全局的非指針類型,聲明后自動分配內存,並初始化值。

全局的指針類型,聲明后不自動分配內存,值為nil。


局部變量:

我們可以在函數或方法(包含過程)中定義局部變量,局部變量在應用程序的棧上進行分配,並且總是在棧上分配!局部變量的內存是在函數或方法(包含過程)
被調用時分配,在函數或方法(包含過程)調用結束時其內存被釋放。由於函數或方法(包含過程)在每次被調用時,棧頂可能發生變化,因此局部變量的內存地
址是變化的,局部的非指針類型,聲明后自動分配內存,不初始化值,值不確定(取決與別的程序對這塊內存的操作)。局部的指針類型,聲明后不自動分配內存,

但會隨機指向一個地址,所以地址不為nil

 

變量申明

var

變量

AA:string; //1

A,B,C:string; //2

AA:string,BB:string;A,B,C:string; //3

const

常量

AA=111; //1

BB=222; //2

AA:string='xxx'; //2

'=========

另外注意 只有全局變量才能賦初始值

如:錯誤的 以下在事件中的賦值是錯誤的。

 

procedure TForm1.Button1Click(Sender: TObject);
var
a:string = 'DD';
begin

 

end;

 

end.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM