C99 standard

C Standards

Ref notes – 1.3 The C99 standard  (Web view)

C has many standards, C89, C99, C11 and here, we mainly focus on the C99 standard. Few of the new features included in C99 standard :

“<stdbool.h> header file include the bool data type and also added the true/false keywords was a little easier to use that in the program

  • So if you include that header file, you didn’t have to use _bool, you could just use bool and you could use true and false.

Little bit of history about C99 standard

  • It was the revised standard for the C programming language.
  • It reflects the year that it came out.
  • It basically just refines and expands the capabilities of standard C, C89.
  • and it also has not been widely adapted, that’s one of the reasons we don’t focus on it too much.
  • It’s not not all popular – not all popular C compilers support it.
  • Of the compilers that do offer C99 support, most support only a subset of the standard.

So we don’t focus on many of the additions added for C99. We mainly focus on C89.

-> C89 is almost universally supported.

New features that we will use from C99 standard

  • macros with variable number of arguments
  • Complex numbers support
  • restricted pointers
  • new comment techniques – single line comments
  • inline functions
  • variable length arrays
  • declare variables at any point of time of the program