2010年5月10日月曜日

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

今日はC,C++で配列を反復する方法を2つ紹介します。
  • 配列の要素数を使用して反復する。
  • 番兵を使用して反復する。
そんなに難しくないのでコードをサクッと記述します。
  1. #include <stdio.h>  
  2.   
  3. void main(void)  
  4. {  
  5.   
  6.     //----------------------------------  
  7.     // サイズを求めて反復に使用する  
  8.     //----------------------------------  
  9.     const char* strArray[] = {  
  10.         "1",  
  11.         "2",  
  12.         "3",  
  13.     };  
  14.     const int length = sizeof(strArray) / sizeof(strArray[0]);    // 配列のサイズ算出  
  15.     printf("length:%d\n", length);  
  16.     for (int i = 0; i < length; i++) {  // length未満の間ループ  
  17.         printf("%s\n", strArray[i]);  
  18.     }  
  19.   
  20.     printf("--------\n");  
  21.   
  22.     //----------------------------------  
  23.     // 番兵を立てる  
  24.     //----------------------------------  
  25.     const char* strArray2[] = {  
  26.         "a",  
  27.         "b",  
  28.         NULL,   // 番兵  
  29.     };  
  30.   
  31.     for (int i = 0; strArray2[i]; i++) {    // false(NULL)以外の間ループ  
  32.         printf("%s\n", strArray2[i]);  
  33.     }  
  34.   
  35.     printf("hit any key...\n");  
  36.     while(getchar() == EOF){}  
  37. }  
  38. </stdio.h>  

0 件のコメント:

コメントを投稿