↑はヘルプセンターの一部を抜粋したものです。HelpCenter さんが書きました:多次元配列を引き渡すときは、仮引数に配列要素を指定する必要があります。具体的には、下記のように値参照で配列ポインタを引き渡します。コンパイラは、仮引数の配列指定(要素のカッコ)を認識した時点で、そのパラメータが配列ポインタの値参照であると解釈します。
実引数には、配列名のみを指定します。カッコ及び要素の指定は必要ありません。
この引き渡し方法は、具体的には配列のポインタのみを引き渡しています。よって、関数内で配列の内容が変えられると、その変更は実引数にも影響します。この引き渡し方法は多次元配列の引き渡しに有効な手段ですが、1次元配列に対しても行えます。
コード: 全て選択
#N88BASIC Dim data[9,9] As Long Sub GetData(a[9,9] As Long) Dim i As Long, j As Long For j=1 To 9 For i=1 To 9 a[j,i]=i*j Next Next End Sub Sub ShowData(a[9,9] As Long) Dim i As Long, j As Long For j=1 To 9 For i=1 To 9 Print Using "###";a[j,i]; Next Print Next End Sub '両者の関数ともに、配列ポインタを引数として渡す GetData(data) ShowData(data)
Ver4.01.02で、配列(多次元配列も可)を関数パラメータとして引き渡せるように改良しました。具体的には、配列ポインタの引き渡しになります。