コードを書いているときに面白いことを発見しました。コードでマクロを定義しましたが、そのキーワードint
をそのマクロのパラメーターの変数名として誤って使用してしまいました。コードは完全に正常に機能しましたが、少し驚いています。C のキーワードは予約語であり、変数名として使用できないことを読みました。
これは私のコードです:
#include <stdio.h>
#define PRINT(int) printf("%d",int)
int main()
{
int x=2;
PRINT(x);
return 0;
}
なぜそれがうまく機能しているのか、誰かが私に説明できますか? キーワードが予約されており、C で変数名として使用できないというのは本当ではないですか、それともこれは C のマクロの例外ですか?