重複の可能性:
C で文字列の配列を作成するには?
私の最後の質問では、次のコード行を書きました
#include <stdio.h>
int main(void){
char str1[] = {'f','i'};
char str2[] = {'s','e'};
char str3[] = {'t','h'};
char *arry_of_string[] = {str1,str2,str3};
printf("%s\n",arry_of_string[1]);
}
人々のおかげで、文字列の最後に '\0' を付けるべきだと指摘してくれました。これを行う正しい方法を学びました。欠陥のあるコードの結果に興味があります:
sefi
C のリファレンス ブックから覚えているのですが、'\0' を探すポインターは\0
ターミネータなしだと思います。結果は次のようになります。
seth
str3 は配列の次の要素であるためです。なぜそれが配列の内部構造の観点から説明できるのですか?