Dim ステートメント

変数を定義し、変数データに必要な領域を確保します。


書式

Dim varname [[subscripts]] [= initvalue] [As type] ,...
varname
変数の名前を指定します。
subscripts
配列要素をリテラル値で指定します。カンマで区切って多次元配列を定義することもできます。ここで指定する値は添え字上限値になります。要素数で指定したい場合は、ELM関数を利用してください。
initvalue
変数データの初期値を指定します。配列変数の初期値はカッコ [ ]の中に各値をカンマで区切って指定します。オブジェクト(構造体)の初期値はカッコ [ ]の中に各メンバ変数をカンマで区切って指定します。
type
基本型またはクラス(構造体)を指定します。

解説

モジュールレベルで宣言をするとグローバル領域に、プロシージャレベルで宣言をするとローカル領域に変数領域が確保されます。

String型変数のDim宣言では、文字列ポインタ用の4バイト、及び文字列バッファの領域が確保されます(文字列バッファのみヒープ領域に確保)。文字列バッファの領域は、グローバル変数の場合はプロセス終了時に、ローカル変数の場合プロシージャの終了時に解放されます。String型変数の内容を変更すると、文字列バッファは再確保されるため、文字列ポインタは書き換えられます。