PureBasic

;
; ------------------------------------------------------------
;
;  PureBasic - Array example file
;
;    (c) Fantaisie Software
;
; ------------------------------------------------------------
;

Structure BasicStructure
    Field1.b
    Field2.w
    Field3.l
EndStructure


Structure ComplexStructure
    Field.b
    Basic.BasicStructure ; Создание объекта BasicStructure внутри этой структуры
EndStructure


Dim BasicArray.l(100)  ; Зарезервируем 101 элемент (от 0 до 100) 'long' типа
Dim StructuredArray.BasicStructure(10) ; 11 элементов (от 0 до 10) из 10 объектов BasicStructure

Dim StructuredMultiArray.ComplexStructure(10, 20, 10) ; 11*21*11 = 2541 элементов объектов ComplexStructures

; Заполнение массивов & Доступ к структуре
;
For k=0 To 100        ; Заполним базовый массив значениями от 0 до 100.
    BasicArray(k) = k
Next

For k=0 To 10        ; Заполним структурированный массив..
    StructuredArray(k)\Field1 = k
    StructuredArray(k)\Field2 = k+1
    StructuredArray(k)\Field3 = k+2
Next

For x=0 To 10        ; Заполним мультиструктурированный массив..
    For y=0 To 20
        For z=0 To 10
            StructuredMultiArray(x, y, z)\Field = x
            StructuredMultiArray(x, y, z)\Basic\Field2 = y+1
            StructuredMultiArray(x, y, z)\Basic\Field3 = z+2
        Next
    Next
Next

; Скопируем массив в новый массив
;
Dim BasicArrayCopy(1)
CopyArray(BasicArray(), BasicArrayCopy())

Debug "Размер копии: " + ArraySize(BasicArrayCopy()) ; Отображение размера копии, должно быть 100 как и оригинала.


End