Embedded C .... its a cool word for C applied by people that don't know what really are PC's.
C are normally called a "medium level" language, that are compiled o "low level" language (normally ASM), there are efforts to standard it syntax/semantics (one of it by ANSI) to avoid an anarchy of compiler implementations.
Depending on the target processor, the compiler should be different, because the available instructions are different. If the target is Intel Pentium you can use MS VC++, if is PIC you can use HTPICC. GNU have compilers for many, many uP's.
But the base of every one is the Von Neumann machine (more sophisticated uP's like P4 HiperThreading use new approaches to increase performance), of course depending on the processor the modules/functionalities inside it are differences and you can get differences processing powers. Because of that some C (ANSI or not) statements are not available in some compilers, the target processor haven't enough resources to implement it...
Embedded its because, the target processor its in a scenario of a small device PDA's, PC104, and devices using PIC, AVR, AMR, 8051, .....
NeuralC