2010年5月10日月曜日

C,C++で配列を反復する(なめる)

今日はC,C++で配列を反復する方法を2つ紹介します。
  • 配列の要素数を使用して反復する。
  • 番兵を使用して反復する。
そんなに難しくないのでコードをサクッと記述します。
#include 

void main(void)
{

    //----------------------------------
    // サイズを求めて反復に使用する
    //----------------------------------
    const char* strArray[] = {
        "1",
        "2",
        "3",
    };
    const int length = sizeof(strArray) / sizeof(strArray[0]);    // 配列のサイズ算出
    printf("length:%d\n", length);
    for (int i = 0; i < length; i++) {  // length未満の間ループ
        printf("%s\n", strArray[i]);
    }

    printf("--------\n");

    //----------------------------------
    // 番兵を立てる
    //----------------------------------
    const char* strArray2[] = {
        "a",
        "b",
        NULL,   // 番兵
    };

    for (int i = 0; strArray2[i]; i++) {    // false(NULL)以外の間ループ
        printf("%s\n", strArray2[i]);
    }

    printf("hit any key...\n");
    while(getchar() == EOF){}
}

0 件のコメント:

コメントを投稿