配列そのものは、強制参照渡しで合ってるかなと思います。
可変引数ですが、どのユーザ定義関数も使う時に引数を省略することは出来ます。
TEKIPUT 10,,"S"
みたいに。
でも関数の中で省略された変数に普通に触れるとエラーで止まります使えねえ!(´°Д°`)
一応、SPOFSのZ座標みたいに公式命令で引数を省略してもエラーにならず、省略されたかどうか後で確認できる命令を利用すると、引数が空かどうか調べられます。
DEF FUNC A
SPOFS 255,0,0,-99;SPOFS 255,0,0,A'使わないスプライト
SPOFS 255 OUT X,Y,Z
IF Z==-99 THEN
Aは空
ENDIF
END
Aがたまたま初期値と同じ可能性もあるので、本当は2回チェックが要ります。