質問: %d\n", i ,s[i]); return 0; } ```
回答: `clear_string1`と`clear_string2`はC言語上の解釈として**全く同じ**になります。なぜなら、`void clear_string2(char str[])`は`void clear_string2(char *str)`と同じ物として解釈されて、コンパイルされるからです。注意すべきは、これは関数定義での仮引数の話であって、他の箇所で使われた場合は解釈が異なります。 参考文献: comp.lang.c FAQ list · Question 6.4 C言語 FAQ 日本語訳 - 6章 配列とポインター - 4 プログラミング言語C―ANSI規格準拠― 第2版 5.3 p121 より引用 > > 関数定義の仮引数としては > > > > ``` > char s[]; > ``` > > > > および > > > > ``` > char *s; > ``` > > > > はまったく同一である。 > > >