- ベストアンサー
関数へ引数を渡す時・・・(C言語)
Cを始めたばかりです。 レベルの低い質問だと思いますがお願いします。 【ソース】 /* a1.c */ #include <stdio.h> void aaa(char); int main( int argc, char *argv[] ) { char box[] = "test"; aaa(box); return 0; } /* a2.c */ #include <stdio.h> void aaa(char box) { printf( "%s",box ); } 【質問】 変数boxの中身を関数aaaに渡したいだけですが、 上記ソースをコンパイルすると、a1.cの aaa(box) の部分でエラーが出てしまいます。 どうもデータ型(ポインタ?)がまずいようですが、 何が問題なのでしょうか? 御回答宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こうしてちょびひげ。 【ソース】 /* a1.c */ #include <stdio.h> void aaa(char *); int main( int argc, char *argv[] ) { char box[] = "test"; aaa(box); return 0; } /* a2.c */ #include <stdio.h> void aaa(char *box) { printf( "%s",box ); }
その他の回答 (1)
- crew21
- ベストアンサー率26% (58/222)
No.1さんで答え出てしまいましたが、 更に aaa( &box[0] ); とやると、ああ、ここでポインタを渡してるんだなということが分かり易いかもです。 これは小さなプログラムなので元のままでも問題ありませんが、大きな込み入ったプログラムの中でぽつんと aaa(box); とあると、パッと見で何を渡しているのかがわかりにくい場合があります。 まあ、この辺は好みもありますが。 参考まで。
お礼
遅くなって申し訳ありません。 御回答ありがとうございました。
お礼
遅くなって申し訳ありません。 御回答ありがとうございました。