When you include stdio.h
, it provides declarations of functions like printf
, but the actual implementations are precompiled in the C standard library (e.g., glibc) as binary files like libc.so
, located in directories like /lib
or /usr/lib
. These implementations are written in source files (e.g., stdio.c
) within the glibc source code, which is not installed by default but can be downloaded separately. During compilation, gcc
links your code to this library, so there is no need for a visible stdio.c
on your system.