31 lines
866 B
Text
31 lines
866 B
Text
use std, array
|
|
|
|
(:::::::::::::::::
|
|
: Static arrays :
|
|
:::::::::::::::::)
|
|
let the array of 2 text aabbArray be Cdata{"aa";"bb"}
|
|
let raw array of real :my array: = Cdata {1.0 ; 2.0 ; 3.0} (: auto sized :)
|
|
let another_array be an array of 256 byte (: not initialised :)
|
|
let (raw array of (array of 3 real)) foobar = Cdata {
|
|
{1.0; 2.0; 0.0}
|
|
{5.0; 1.0; 3.0}
|
|
}
|
|
|
|
(: macro to get size of static arrays :)
|
|
=: <array>.length := -> nat {size of array / (size of array[0])}
|
|
printf "%lu, %lu\n" foobar.length (another_array.length) (: 2, 256 :)
|
|
|
|
(: access :)
|
|
another_array[255] = '&'
|
|
printf "`%c'\n" another_array[255]
|
|
|
|
|
|
(::::::::::::::::::
|
|
: Dynamic arrays :
|
|
::::::::::::::::::)
|
|
let DynArray = new array of 5 int
|
|
DynArray[0] = -42
|
|
DynArray = (realloc DynArray (6 * size of DynArray[0])) as (type of DynArray)
|
|
DynArray[5] = 243
|
|
prints DynArray[0] DynArray[5]
|
|
del DynArray
|