[C言語]配列をループするには?

C言語

どうも、ちょげ(@chogetarou)です。

配列(array)をループする方法を紹介します。

スポンサーリンク

方法

配列(array)をループする方法は、2つあります。

for文

ひとつは、for文を使う方法です。

まず、配列の要素数を取得します。

次に、for文の()内に、ループ変数を0で初期化、条件式に「ループ変数が要素数未満」、ループ後の処理でループ変数を「+1」を指定します。

そして、for文の{}で、ループ処理を指定します。

{}内では、ループ変数で配列のインデックスを取得します。

//myArray=対象の配列
int n = sizeof(myArray) / sizeof(myArray[0]); //配列の要素数を取得
for (int i = 0; i < n; i++)
{
    //ループ処理
    //ループ変数「i」でインデックスを取得
}

上記のfor文は、配列をループします。

使用例

#include <stdio.h>

int main(void){
    int nums[] = { 1, 2, 3, 4, 5 };
    
    int n = sizeof(nums) / sizeof(nums[0]);
    for (int i = 0; i < n; i++)
    {
        printf("%d ", nums[i]);
    }
    
    return 0;
}
出力:
1 2 3 4 5

while

もうひとつは、whileを使う方法です。

まず、配列の要素数を取得し、初期値「0」の変数を用意します。

次に、whileの()内に、条件式「変数が要素数未満」を指定します。

そして、whileの{}内にループ処理を指定します。

ループ処理の最後で、用意した変数を「+1」します。

また、{}内では、用意した変数で配列のインデックスを取得します。

//myArray=対象の配列
int n = sizeof(myArray) / sizeof(myArray[0]); //配列の要素数を取得
int i = 0;
while(i < n) {
    //ループ処理
    //変数「i」でインデックスを取得
    ++i;
}

上記のwhileは、配列をループします。

使用例

#include <stdio.h>

int main(void){
    int nums[] = { 1, 2, 3, 4, 5 };
    
    int n = sizeof(nums) / sizeof(nums[0]);
    int i = 0;
    while(i < n) {
        printf("%d ", nums[i]);
        ++i;
    }
    
    return 0;
}
出力:
1 2 3 4 5
スポンサーリンク

まとめ

配列(array)をループする方法は、次の2つです。

  • for文を使う方法
    int n = sizeof(myArray) / sizeof(myArray[0]);
    for (int i = 0; i < n; i++) { /*ループ処理*/ }
  • whileを使う方法
    int n = sizeof(myArray) / sizeof(myArray[0]);
    int i = 0;
    while(i < n) { /*ループ処理。最後に「i」を「+1」する*/ }

コメント

タイトルとURLをコピーしました