終端文字列が出現するまで、インデックスをループ処理
1つ目は、下記のように、終端文字列が出現するまで、配列のインデックスをwhile文でループ処理して参照する方法です。
ポインタを使うとみにくくなると感じるので、好きな方法です。
i = 0;
while(str[i] != '\0'){
printf("%c ", str[i]);
i++;
}
ポインタをインクリメントしながら、ポインタの指す先を参照
次は、ポインタをインクリメントしながら、ポインタの指す先を1文字ずつ参照していきます。
こちらも同様に、終端文字列が出現するまでwhile文でループ処理します。
while(*tmpStr != '\0'){
printf("%c ", *tmpStr);
tmpStr++;
}
strlen()で文字列の長さを取得し、文字列の長さ分ループ処理
strlen()で文字列の長さを取得し、for文で文字列の長さ分ループ処理する方法もあります。
こちらの方法もわかりやすくで好きな方法です。
while(*tmpStr != '\0'){
printf("%c ", *tmpStr);
tmpStr++;
}
スポンサーリンク
サンプルコード
下記がサンプルコードになります。
$ cat sample.c
#include <stdio.h>
#include <string.h>
int main(){
int i;
char* str = "string";
char* tmpStr;
i = 0;
while(str[i] != '\0'){
printf("%c ", str[i]);
i++;
}
printf("\n");
tmpStr = str;
while(*tmpStr != '\0'){
printf("%c ", *tmpStr);
tmpStr++;
}
printf("\n");
for(i = 0; i < strlen(str); i++){
printf("%c ", str[i]);
}
printf("\n");
return 0;
}
下記が実行結果になります。
$ gcc -o sample sample.c $ ./sample s t r i n g s t r i n g s t r i n g
