What is expansion of stdio.h?

The stdio.h header contains many macros, all of which are expanded to integer constant expressions during preprocessing. For instance, the BUFSIZ macro expands to a positive integer that determines the size of all stdio.h buffers. The macros themselves are implementation-defined, so there's no guarantee that BUFSIZ will hold the same value across all implementations. This is why we use macros rather than integer constant expressions.