You should check if your distribution is using the vanilla GLIBC or the EGLIBC fork (Debian and Ubuntu have switched to EGLIBC EDIT: they switched back around 2014).
Anyway, the repository browser for GLIBC is at http://sourceware.org/git/?p=glibc.git
http://code.woboq.org/userspace/glibc/, posted by @guruz below, is a good alternative.
The source is a bit complicated by the presence of multiple versions of the same files.
Answer from Jacopo on Stack Overflowdocumentation - Where can I browse the sourcecode for libc online (like doxygen) - Stack Overflow
How to navigate source code of C language/standard?
libc source code download
printf source code
Videos
You should check if your distribution is using the vanilla GLIBC or the EGLIBC fork (Debian and Ubuntu have switched to EGLIBC EDIT: they switched back around 2014).
Anyway, the repository browser for GLIBC is at http://sourceware.org/git/?p=glibc.git
http://code.woboq.org/userspace/glibc/, posted by @guruz below, is a good alternative.
The source is a bit complicated by the presence of multiple versions of the same files.
How about this for libc documentation? And perhaps this for the kernel? There is also Google Code search; here is an example search.
More on Google Code Search You can enter search queries like this: package:linux-2.6 malloc for any references to malloc in the linux-2.6 kernel.
Edit: Google Code search is now shut down. But you can access the git repo at http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git and it has search as well.
Out of curiosity, I really want to dig into the source code implementation of various C features like how is int, function, switch, ... implemented by C. Can you help me get started and point to where the actual source code is located so I can try to understand it?
Also, I want to know if the functions defined by the header files like math.h, stdio.h, ... are actually implemented by C or are they implemented by the compiler (gcc/clang). And where to locate the source code of these? (like where to find source code of qsort for example)
Are there any resources for learning about the internals of the language at this depth (other than the actual source code)?
And, it would really help me if you can expand the answer for the above questions to C++ also. For example, in C++ string contains the actual character array and the length of the array. But where to find the source code of string to see all the things that string does internally.