The original poster is referring to passing the entire array into the function by reference/pointer (whatever floats your boat), rather than individual elements from the array. This allows you to build generic functions that can perform operations on whatever array() you pass into them.
i.e (PB example)
Dim MyArray(10)
Dim MyOtherArray(20)
FillArray(MyArray())
FillArray(MyOtherArray())
ShowArray(MyArray())
ShowArray(MyOtherArray())
Sync
waitkey
Function FillArray(me())
For lp=0 to GetArrayElements(me(),1)
Me(lp)=rnd(1000)
next
EndFunction
Function ShowArray(me())
For lp=0 to GetArrayElements(me(),1)
s$=s$+str$(Me(lp))+","
next
print TrimRight$(s$,",")
EndFunction
You can simulate the same type of behavior in standard DB using caches (ranges) in a global arrays (see example #2), or mem blocks
; Cache array house all our array data
Dim CachePtr(1)
Dim Cache(1000)
; element 0=if cache offset
; element 1= size
Dim MyArray(1)
Size=10
MyArray(0)=AllocArray(Size)
MyArray(1)=Size
Dim MyOtherArray(1)
Size=20
MyOtherArray(0)=AllocArray(Size)
MyOtherArray(1)=size
FillArray(MyArray(0),MyArray(1))
FillArray(MyOtherArray(0),MyOtherArray(1))
ShowArray(MyArray(0),MyArray(1))
ShowArray(MyOtherArray(0),MyOtherArray(1))
Sync
waitkey
; little helper function to help allocation blocks of space in the cache
Function AllocArray(Size)
ptr=CachePtr(1)
CachePtr(1)=CachePtr(1)+size+1
endfunction Ptr
Function FillArray(Ptr,Size)
For lp=0 to Size
Cache(Ptr+lp)=rnd(1000)
next
EndFunction
Function ShowArray(ptr,size)
For lp=0 to size
s$=s$+str$(Cache(ptr+lp))+","
next
print TrimRight$(s$,",")
EndFunction