官术网_书友最值得收藏!

2.5.6 數組類型

數組類型包括靜態數組和動態數組兩類。靜態數組是在聲明時已經確定數組大小的數組,其長度是預先定義好的,在整個程序中,一旦大小給定后就無法改變。而動態數組則不然,它可以隨程序需要而重新指定數組大小。動態數組的內存空間是從堆(Heap)上分配(動態分配)的,通過執行代碼為其分配存儲空間。當程序執行到這些語句時,才為其分配,程序員自己負責釋放內存。需要注意的是,DM中數組下標的起始值為1。理論上DM支持的靜態數組每個維度的最大長度為65534B,動態數組每個維度的最大長度為2147483646B,但是數組最大長度同時受系統內部堆棧(靜態數組)和堆(動態數組)空間大小的限制。如果超出堆棧/堆的空間限制,系統就會報錯。

1.靜態數組

靜態數組的語法格式如下:

img

【例2-7】數組類型定義舉例。

img
img

2.動態數組

動態數組與靜態數組的用法類似,區別只在于動態數組沒有指定下標,需要動態分配空間。動態數組的語法格式如下:

img

多維動態數組分配空間的語法格式如下:

img

另外,可以使用如下兩種語法格式對多維數組的某一維度進行空間分配。其中,第二種語法格式使用自定義類型來創建動態數組,前提是先定義好一個類型,該語法格式適用于含有精度或長度的數據類型。

img

【例2-8】動態數組使用舉例。

img

【例2-9】使用自定義類型定義動態數組舉例。

img

【例2-10】多維動態數組舉例。

img

DM還支持索引數組,如例2-11所示。

【例2-11】索引數組舉例。

img

在DM中,可以利用查詢語句查詢數組信息。語法格式如下:

img

目前,DM只支持一維數組的查詢。數組類型可以是記錄類型或普通數據庫類型。記錄類型數組查詢出來的列名為記錄類型的每個屬性名稱。普通數據庫類型數組查詢出來的列名均為“C”。

【例2-12】數組與表的連接查詢舉例。

img

返回結果如下:

img
主站蜘蛛池模板: 清镇市| 塔河县| 宣汉县| 唐河县| 左云县| 鲜城| 曲阳县| 南召县| 凤山县| 应城市| 临清市| 临邑县| 翁牛特旗| 明溪县| 石台县| 邯郸县| 泽普县| 平定县| 毕节市| 长岭县| 迭部县| 新干县| 西林县| 睢宁县| 红安县| 高陵县| 那坡县| 进贤县| 南充市| 和顺县| 陕西省| 八宿县| 重庆市| 长岭县| 台东市| 额敏县| 巴中市| 观塘区| 准格尔旗| 遵义市| 洱源县|