What type of content is allowed to be used as arguments for C preprocessor macro?
问题 Honestly I know the syntax of the C programming language well, but know almost nothing about the syntax of the C preprocessor, although I use it in my programming practice sometimes. So the question. Suppose we have a simple macro that expands to nothing: #define macro(param) What is the restrictions for the syntax that can be put inside macro invoking construction? It is certainly impossible to use single or multiple comma when invoking the macro: macro(,); // won't compile However if we put