Is this proper C declaration? If so, why does it not work?を読んでいる間、私は厳密に準拠したこのプログラムは、約異なるヘッダーを含めるときに、C実装が暗黙的に標準ヘッダーを含めることはできますか?
#include <stdio.h>
int main(void) {
int bool = 0;
return bool == 0;
}
です考えていましたか?言い換えれば、stdio.h
にstdbool.h
を含めることが許されているのですか?そうすることは禁じられていますか?これは仕様で指定されていますか?
私はあなたを信じていますが、K&Rなどの参考文献を教えてもらえますか? –
1つのヘッダーに別のヘッダーが含まれていると、プログラムは2つのヘッダーを効果的に含みます。そして、両方のヘッダの識別子が予約されているようです。または、これを許可する明示的な規則がないので、別のヘッダのこのような包含は違法ですか? –
@Johannes - 私が理解しているところでは、特定のヘッダーには指定された名前と一般的に予約されている名前しか含めることができません(これは[...])。 'bool'を定義したい場合は、を含める必要があります。それ以外の場合は '_Bool'だけで、例のようにboolを使うことができます。 –