當前位置:編程學習大全網 - 編程語言 - pascal所有數據類型

pascal所有數據類型

根據Delphi在線幫助,繪制了如下的全家福,所有數據類型都按照各自的輩分站好了位置。

1、Ordinal有序類型

Object Pascal將Ordinal和Real歸類於Simple(簡單)旗下。

Integer基本類型是Integer和Cardinal,它們都是32位的,操作系統和CPU可以花費最少的時間處理它們。

Character基本類型是Char,AnsiChar和Char是等同的,都是用來處理8位字符(單字節字符),而WideChar用來處理多字節字符(Delphi7實現為16位,即2個字節)。

Boolean基本類型是Boolean,另外三種都是為了兼容而定義的。Boolean和ByteBool都是占用1個字節,而WordBool和LongBool分別占據2個字節和4個字節。

Enumerated枚舉類型定義壹系列有序值的集合,集合中的元素壹般從0開始連續索引。

Subrange子界類型也是定義了壹系列有序值的集合,但是子界的有序值必須是在別的有序類型中定義過的。子界中有序值的索引被基類確定。

2、Real實數類型

Real屬於Simple大類,但是因為無理數的介入,使得Real不在能夠有序,比如1.0和1.2之間可以取無限個數,因此1.15的確定順序就不存在了。

Real的基本類型是Real,在Delphi7中Real等同於Double,因此建議用Double和Single來聲明變量,而在過程或函數中需要定義可以傳遞任意實數的參數時,常使用Extended,因為它的取值範圍最大,可以兼容其他所有實數類型。

3、String字符串類型

String類型分為ShortString、AnsiString/LongString、WideString三大類,ShortString在內存中占0..255字節,其中第0字節存儲字符串的實際長度,因此壹個ShortString類型的變量最多存儲255個字符。

AnsiString/LongString/WideString的內存都是動態分配的,最大可至2GB,因此可以近似認為它們是無限長的。AnsiString包含的字符使用單字節存儲的,而WideString包含的字符則是用多個字節存儲的。在Delphi7中WideString被實現為用2個字節存儲壹個字符。

PChar並不是Pascal的標準類型,而是為了與操作系統和其他語言兼容而設置的,PChar聲明壹個以空字符(NULL字符)結尾的字符串指針,更準確的說,這個字符串的字符是Char類型,也就是PChar指向壹個Char串。

4、Structured構造類型

Structured類型可以包含多個元素或字段,因而這種類型的變量能夠容納多個值。

Set類型的基本類型可以是Enumerated和Subrange,因此Set變量容納的實際上是有序值。

Array數組類型包含兩種性質,靜態數組和動態數組。

Record記錄類型,是多個任意元素的集合,其中的元素可以稱為記錄的字段。

File文件類型用來讀寫文本,在面向對象編程中,壹般使用TFileStream類和壹些類的(TStrings、TPicture、TBlobField、TTreeView等)的LoadFromFile、SaveToFile方法來操作文件。

構造類型中還包括Class(類)、Interface(接口)、Class reference(類引用)三種子類型。

5、Pointer指針類型

Pointer指針類型,壹個指針占用4字節空間,壹個指針就是壹個4字節大小的內存塊,該內存塊的4字節空間用來存儲另壹塊內存區所在的地址,這另壹塊內存區才是存儲實際數據的地方。指針分為無類型指針(Untyped Pointer)和有類型指針(Typed Pointer)。

Procedural過稱類型,壹種比較特殊的類型,這種類型變量可以存取壹個過程或函數。

6、Variant可變類型

可以存儲絕大部分不同類型的數據。

Tip

在程序編寫過程中,要盡量可能選擇簡單、輕量級、易懂的數據類型,而非實際需要,不要使用復雜的數據類型或者自定義類型,最簡單的才是最美麗的。

  • 上一篇:如何在windows7下安裝spark
  • 下一篇:寶馬3系方向機重改輕的方法是什麽?
  • copyright 2024編程學習大全網