Keywords are the words whose meaning has already been explained to the C compiler (or in a broad sense to the computer). The keywords cannot be used as variable names because if we do so we are trying to assign a new meaning to the keyword, which is not allowed by the computer.
Auto | break | case | char |
double | else | enum | extern |
int | long | register | return |
struct | switch | typedef | union |
const | continue | default | do |
float | for | goto | if |
short | signed | sizeof | static |
unsigned | void | volatile | while |
Some compiler vendors (like Microsoft, Borland, etc.) provide their own keywords apart from the ones mentioned above. These include extended keywords like near, far, asm, etc.