The difference between the two forms is in the location where the preprocessor searches for the file to be included.
#include <filename>
The preprocessor searches in an implementation-dependent manner, it searches directories pre-designated by the compiler. This method is usually used to include standard library header files.
#include "filename"
The preprocessor searches in the same directory as the file containing the directive. If this fails, then it starts behaving like the #include <filename> form. This method is usually used to include your own header files.