There is the GNU info system. For example if you are curious about libc try:
info libc
For quick answers the man pages are sometimes better.
man printf
The most useful man command is "q" (to quit)
The most useful man option is "-k" for "keyword" For example
man -k passwd | more
...gives you
chage (1) - change user password expiry information
chpasswd (8) - update password file in batch
crypt (3) - password and data encryption
d_passwd (5) - The dialup shell password file
dpasswd (8) - change dialup password
endpwent (3) - get password file entry
expiry (1) - check and enforce password expiration policy
fgetpwent (3) - get password file entry
getpass (3) - get a password
getpw (3) - Re-construct password line entry
getpwent (3) - get password file entry
getpwnam (3) - get password file entry
getpwuid (3) - get password file entry
grpconv (8) - convert to and from shadow passwords and groups.
grpunconv (8) - convert to and from shadow passwords and groups.
mmsitepass (8) - Set the Mailman site password, prompting from the terminl.
passwd (1) - change user password
passwd (1ssl) - compute password hashes
passwd (5) - The password file
pg_passwd (1) - change a secondary PostgreSQL password file
putpwent (3) - write a password file entry
Reading through this info, you realize that:
passwd (1) - change user password
has the info you want, so you type:
man passwd