可能性の重複:
C function syntax, parameter types declared after parameter list関数定義C
私はどのように "エキスパートCプログラミング"
int compare(s1, s2)
char * s1, *s2;
{
while (*s1++ == *s2) {
if (*s2++ == 0) return (0);
}
return (*--s1 - *s2);
}
に関数定義のために、次の構文を見ました上記の定義は有効ですか?それはコンパイルされ、エラーなしで完全に実行されます。
私は誰が投げてくださいすることができ、関数定義
int compare(char * s1,char *s2)
{
while (*s1++ == *s2) {
if (*s2++ == 0) return (0);
}
return (*--s1 - *s2);
}
ための次の構文を使用して、より快適だと(私の大学や他の場所でCを勉強しながら)私は本の中で与えられたものを見てきたところがありませんこの本に書かれているものにいくつかの光があります。
これは、関数宣言のための旧式で非推奨の構文です。 「K&Rスタイル」と呼ばれることもあります。 – cnicutar
それは古いスタイルですが、依然としてその言語に受け入れられています。ところで、私は "専門家のCプログラミング"本に 'return(0);' – wildplasser
が20年前にあるとは思っていません。* 2番目の*構文を処理できなかったコンパイラはかなり一般的でした。 – Amadan