Embedded C programming typically requires nonstandard extensions to the C language in order to support enhanced microprocessor features such as fixed-point arithmetic, multiple distinct memory banks, and basic I/O operations. In 2008, the C Standards Committee extended the C language to address such capabilities by providing a common standard for all implementations to adhere to. It includes a number of features not available in normal C, such as fixed-point arithmetic, named address spaces and basic I/O hardware addressing. Embedded C uses most of the syntax and semantics of standard C, e.g., main() function, variable definition, datatype declaration, conditional statements (if, switch case), loops (while, for), functions, arrays and strings, structures and union, bit operations, macros, etc.
- Skansholm, Jan. Vägen till C [The road to C] (in Swedish). Studentlitteratur. pp. 237–774. ISBN 91-44-01468-6. Includes a good example of C-embedded programming, covering this article and far more. Like limits, what has to be done in machine language.
- "Information Technology — Programming languages, their environments and system software interfaces — Extensions for the programming language C to support embedded processors" (PDF). www.open-std.org. ISO/IEC JTC1 SC22 WG14 N1021, reference number of document: ISO/IEC DTR 18037. 2003-09-24. Retrieved 2018-12-18.
- "Information Technology — Programming languages - C - Extensions to support embedded processors" (PDF). www.open-std.org. ISO/IEC JTC1 SC22 WG14 N1169, reference number of document: ISO/IEC TR 18037. 2006-04-04. Retrieved 2018-12-18.