Folioscope

プログラミング/Unix系/デザイン/CG などのメモがもりもり

C言語の関数の定義

本日O'REILLYのRUNNING LINUXを読んでいたら, ちょっと気になるC言語の関数の定義がありました
次のソースをご覧ください

#include <stdio.h>

int add(a, b)
int a;
int b;
{
	return (a + b);
}

int main()
{
	printf("1 + 2 = %d\n", add(1, 2));
	return 0;
}

実行結果

1 + 2 = 3

どうやら関数の仮引数の宣言をそれぞれ分離することができるようです
なおこのコードは, Cのコンパイラ(gcc)ではコンパイル出来ましたが, C++のコンパイラ(g++)では残念ながらコンパイルエラーとなりました