I used to think that it used to be that: .h files are header files for C and C++, and usually only contain declarations. .c files are C source code. .cpp files are C++ source code (which can also be C source code). More @Wikipedia
Hover over any link to get a description of the article. Please note that search keywords are sometimes hidden within the full article and don't appear in the description or title.