- ベストアンサー
引数について(C言語)
あるサイトでこんなソースを見たのですが、 void func(val) int val; { /*処理*/ } この引数の記述方法はどうなっているのでしょうか?回答よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
> てっきり同義だと思っていました。 > 後学のため、両者の意味の違いを教えていただけますか? 一括形式は関数原型を含みますが、分離形式では関数原型がありません。 そのため、 void func(val) int val; { } int main(void) { func(1, 2, 3); return 0; } のようなことやってもエラーになりません。
その他の回答 (4)
- asuncion
- ベストアンサー率33% (2127/6289)
回答No.4
>#3さん >同義ではありません。 てっきり同義だと思っていました。 後学のため、両者の意味の違いを教えていただけますか?
- jacta
- ベストアンサー率26% (845/3158)
回答No.3
「分離形式」という書き方です。 ちなみに、 void func(val) int val; { } と void func(int val) { } は同義ではありません。
質問者
お礼
同義ではないんですね。 回答ありがとうございました。
- asuncion
- ベストアンサー率33% (2127/6289)
回答No.2
ずっと以前の言語規格では、そういう書き方しかできませんでした。 今は、普通そういう書き方はしません。
質問者
お礼
昔の書き方なんですね。 回答ありがとうございました。
- Trick--o--
- ベストアンサー率20% (413/2034)
回答No.1
どうなっているとはどういう意味でしょう? void func(val) int val; { は void func(int val) { と同義です。
質問者
お礼
回答ありがとうございました。
お礼
プロトタイプの有り無しですか。 分離形式と一括形式のアセンブリソースを見比べてもLINEのコメント以外同じだったので、ん?と思ったのですが、そういうことだったんですね。