Embedded C is generally an extension of the C language, they are more or less similar. However, some differences do exist, such as:
C is generally used for desktop computers, while embedded C is for microcontroller based applications.
C can use the resources of a desktop PC like memory, OS, etc. While, embedded C has to use with the limited resources, such as RAM, ROM, I/Os on an embedded processor.
Embedded C includes extra features over C, such as fixed point types, multiple memory areas, and I/O register mapping.
Compilers for C (ANSI C) typically generate OS dependant executables. Embedded C requires compilers to create files to be downloaded to the microcontrollers/microprocessors where it needs to run.