In VC, you may find that you can use "size_t" directly without including any headers.
size_t i = 0;
However, "size_t" is not a built-in type. It is a typedef in <stddef.h>. So what's the magic?
In VC compiler, it will include some internal headers for various reasons before compile your code.
It's better not to rely on this extension. Whenever you use the types / functions, include the corresponding headers. Otherwise your code will break on other compilers 🙂