Embedded C

From Wikipedia, the free encyclopedia

Embedded C is a set of language extensions for the C programming language by the C Standards Committee to address commonality issues that exist between C extensions for different embedded systems.

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. The C Standards Committee produced a Technical Report, most recently revised in 2008[1] and reviewed in 2013,[2] 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.[3]


  1. ^ "Project status and milestones". www.open-std.org. Retrieved 2022-03-31.
  2. ^ "ISO/IEC TR 18037:2008". ISO. Retrieved 2022-03-31.
  3. ^ Skansholm, Jan (2000). 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.