透2017/8/102019/4/21配列って使ってますか?配列は同じ型のデータを大量に扱う場合に一つのかたまりとして扱うことができるので便利ですよね。配列の要素数を変更する方法1次元から2次元配列に変更する場合など基本的な内容から、応用的な使い方についても解説していきます。今回は配列について、使い方をわかりやすく解説します。配列では同じデータ型の変数をたくさん扱う場合に、一つのかたまりとして扱うことができます。配列内のひとつひとつのデータを要素といいます。それぞれの要素にはインデックス番号(添字)を指定することでアクセスすることができます。配列を宣言する際に、要素数と次元数が決まっている配列を固定長配列といいます。これに対して、要素数と次元数が決まっていない配列を可変長配列や動的配列といいます。配列の宣言と定義それでは配列を宣言、定義する方法についてみていきましょう。固定長配列と可変長配列で宣言の方法が少々異なります。固定長配列の場合まずは、固定長配列を宣言、定義する方法について説明します。固定長変数は配列名のあとに「()」(カッコ)を使って下記のように宣言します。データ型名データ型名は要素のデータ型になります。添字の下限値は下記のように省略して記述することもできます。省略した場合の下限値は通常0(ゼロ)となります。固定長配列はこのあと説明するReDimステートメントを使って要素数や次元数を変更することはできませんのでご注意ください!2次元以上の多次元配列を宣言する場合2次元以上の多次元の配列を宣言する場合は、次元ごとに「,」(カンマ)で区切って「()」に並べます。可変長配列の場合は、宣言時には要素数や次元数は指定しません。処理中に要素数などを再設定します。可変長配列の宣言と定義は、配列名のあとに「()」を記述し、「()」内には何も記述しません。処理中に配列の要素数や次元数を変更したい場合、ReDimステートメントを使用します。ReDimステートメントを使った配列の要素数や次元数を指定する方法は下記のとおりで、固定長配列の宣言と同じになります。・・・)ReDimステートメントを使って配列の要素数などを変更した場合、元のデータはすべて消えてしまいますので注意してください!また、データ型の変更が可能なのは可変長配列の宣言時にバリアント型で宣言した場合だけになります。Preserveステートメントを使用します。Preserveステートメントについては後ほど解説します。配列は宣言、定義のあとで要素にそれぞれの値を入れて初期化して使う場合が多いです。配列の初期化の方法についてみていきましょう。配列を初期化する方法には主に2つの方法があります。Eraseステートメントを使う方法とArray関数を使う方法です。Eraseを使って初期化する場合Eraseステートメントの引数には初期化する配列名を指定します。配列名それぞれのデータ型によって初期値が違います。数値配列:0(ゼロ)文字列配列:長さ0(ゼロ)の文字列オブジェクト配列:Nothingバリアント配列:Emptyそれぞれの初期値で全要素が設定されます。それではサンプルコードで確認していきましょう。Sub実行結果:このサンプルコードでは、Integer型の配列arr_intとString型の配列arr_strを宣言し、Eraseステートメントで初期化しています。配列のそれぞれの要素の値は配列名のあとの「()」内にインデックス番号(添字)を指定すると参照することができます。Arrayを使って初期化する場合Eraseステートメントで初期化する場合は、すべての要素が決まった値での初期化でした。それに対して、Array関数を使う場合は要素の値を別々に指定することができます。可変長配列でデータ型はバリアント型に限ります。・・・)サンプルコードで確認していきましょう。Sub実行結果:このサンプルコードでは、Variant型の配列arr_intとarr_strを宣言し、Array関数で初期化しています。それぞれの要素の値を別々に設定できています。先ほど可変長配列はReDimステートメントを使って要素数などを再設定できると説明しました。これを使って配列を再初期化することができます。サンプルコードで確認していきましょう。Sub実行結果:このサンプルコードでは、Variant型の配列をArray関数を使って初期化したあと、ReDimステートメントを使って再初期化しています。Preserveステートメントを使用すると述べました。サンプルコードで確認していきましょう。Preserveステートメントを使って要素の値を保持したまま配列の要素数を変更しています。1次元から2次元配列に変更する場合ReDimステートメントを使用すると、1次元配列から2次元配列へのように次元を変更することも可能です。3)ただし、要素の値は保持されませんので注意しましょう。まとめここでは配列の初期化について説明しました。固定長か可変長か、要素のデータ型がバリアント型かそうでないかによって、初期化や再初期化でできることとできないことが分かれますので、注意が必要です。使いこなすことができるように、この記事を何度も参考にして下さいね!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。熊本在住のフリープログラマ兼ライターです。C/C++/C#、Java、Python、HTML/CSS、PHPを使ってプログラミングをしています。専門は画像処理で最近は機械学習、ディープラーニングにはまっています。幅広くやってきた経験を活かしてポイントをわかりやすくお伝えしようと思います。お問合せはこちらでも受け付けています。