Reading — step 1 of 5
Learn
~1 min readArrays and Strings
FreeBASIC supports dynamic arrays sized at runtime:
DIM nums() AS INTEGER ' empty dynamic array
REDIM nums(0 TO 9) ' size to 10 elements (0..9)
nums(0) = 42
REDIM PRESERVE nums(0 TO 19) ' grow, keeping existing values
UBOUND(nums) ' upper bound: 19
LBOUND(nums) ' lower bound: 0
REDIM PRESERVE keeps existing values. Without PRESERVE, reallocating zeroes the array.
Multi-dimensional:
DIM matrix(3, 3) AS INTEGER
matrix(1, 2) = 5
Iteration:
DIM i AS INTEGER
FOR i = LBOUND(nums) TO UBOUND(nums)
PRINT nums(i)
NEXT i
Sorting — built-in SORT (some BASIC dialects). Otherwise implement bubble-sort or use a sort library.
Search:
Function IndexOf(arr() AS INTEGER, target AS INTEGER) AS INTEGER
DIM i AS INTEGER
FOR i = LBOUND(arr) TO UBOUND(arr)
IF arr(i) = target THEN Return i
NEXT i
Return -1
End Function
Pass arrays to functions with arr() AS Type (the () indicates an array).
Discussion
Ask a question, share an insight, or help someone who’s stuck.
Sign in to post a comment or reply.
Loading…