アプリ版:「スタンプのみでお礼する」機能のリリースについて

あるサイトでこんなソースを見たのですが、

void func(val)
int val;
{
/*処理*/
}

この引数の記述方法はどうなっているのでしょうか?回答よろしくお願いします。

A 回答 (5件)

> てっきり同義だと思っていました。


> 後学のため、両者の意味の違いを教えていただけますか?

一括形式は関数原型を含みますが、分離形式では関数原型がありません。
そのため、

void func(val)
int val;
{
}

int main(void)
{
 func(1, 2, 3);
 return 0;
}

のようなことやってもエラーになりません。
    • good
    • 0
この回答へのお礼

プロトタイプの有り無しですか。
分離形式と一括形式のアセンブリソースを見比べてもLINEのコメント以外同じだったので、ん?と思ったのですが、そういうことだったんですね。

お礼日時:2009/08/03 18:35

>#3さん


>同義ではありません。

てっきり同義だと思っていました。
後学のため、両者の意味の違いを教えていただけますか?
    • good
    • 0

「分離形式」という書き方です。


ちなみに、

void func(val)
int val;
{
}



void func(int val)
{
}

は同義ではありません。
    • good
    • 0
この回答へのお礼

同義ではないんですね。
回答ありがとうございました。

お礼日時:2009/08/03 18:24

ずっと以前の言語規格では、そういう書き方しかできませんでした。



今は、普通そういう書き方はしません。
    • good
    • 0
この回答へのお礼

昔の書き方なんですね。
回答ありがとうございました。

お礼日時:2009/08/03 18:21

どうなっているとはどういう意味でしょう?


void func(val)
int val;
{



void func(int val)
{

と同義です。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2009/08/03 18:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!