List of all standard version of c language

By -

As  you all know we always talk about ANSI C, ISO-C, C99,c88 ,etc…but we dont know the actual differences between these all version of c language. So here i am going to explained all versions of c language.

Brief  History :

  • Root of c language is started in 1966 when Martin Richards  has designed  BCPL (Basic Combined Programming Language), that was  a procedural, imperative, and structured computer programming language .
  • After that in 1669 Ken Thompson and Dennis Ritchie has designed  B  programming language  at Bell Labs

K&R C :

In 1978, Brian Kernighan and Dennis Ritchie published the first edition of The C Programming Language. Which is  known to C programmers as “K&R”. For most of the year this book was taken as the informal standard of c programming language.

K&R introduced several language features:

  • standard I/O library
  • long int data type
  • unsigned int data type
  • compound assignment operators 

Here  function declarations did not include any information about function arguments. Here function parameter type checks were also not performed.

After the publication of K&R C, some other vendors has added several unofficial features to the language, like

  • void functions (i.e. functions with no return value)
  • functions returning struct or union types (rather than pointers)
  • assignment for struct data types
  • enumerated types

So after this all, the large number of extensions and lack of agreement on a standard library, together with the language has created so many issue. So now all need to standardize the specification of c programming language.

You can find the detail Specification of this version in this book The C Programming Language

ANSI C and ISO C (C89 and C90) (Standard c):

In 1983, the American National Standards Institute (ANSI) formed a committee, X3J11, to establish a standard specification of C. In 1989, the standard was ratified as ANSI X3.159-1989 “Programming Language C”. This version of the language is often referred to as ANSI C, Standard C, or sometimes C89.

In 1990, the ANSI C standard (with formatting changes) was adopted by the International Organization for Standardization (ISO) as ISO/IEC 9899:1990, which is sometimes called C90.

Therefore, the terms “C89″ and “C90″ refer to the same programming language.

C89 is supported by current C compilers, and most C code being written today is based on it. Any program written only in Standard C and without any hardware-dependent assumptions will run correctly on any platform with a conforming C implementation, within its resource limits.

You can find the detail Specification of this version of C90 – AS 3955-1991: $141 from

C99 :

After the ANSI/ISO standardization process, the C language specification remained relatively static for some time. But The C standard was further revised in the late 1990s, leading to the publication of ISO/IEC 9899:1999 in 1999, which is commonly referred to as “C99″.

C99 introduced several new features, including inline functions, several new data types (including long long int and a complex type to represent complex numbers), variable-length arrays, support for variadic macros (macros of variable arity) and support for one-line comments beginning with //, as in BCPL or C++. Many of these had already been implemented as extensions in several C compilers.

You can find the detail Specification of this version C99 – ISO 9899:1999: available online

After this all in In 2007 another revised version of c programming language is come with name C1X.

in 2008 one more standard for Embedded C comes.

note : GCC, Sun Studio  such compiler support all version of the c programming language. By default in gcc c89 is used you can also change the mode of gcc for different version.

hey I am an Artist who love to write code...! Well I am an EC graduate From Ganpat University and now i am working as Embedded software engineer in one private firm.. find me at here Jeegar Patel

12 Comments to List of all standard version of c language

  1. I have a long code that has been written with standard c @ year 2000. I can’t run it now on existing version. Do u have any suggestion? I am have 2 days 2 hand it running.

    • hey agabein i am not getting what you mean by standard c @ year 2000…

      if you have used the function and concept of c89 then you can compile it by gcc compiler and in any other version you can check the supported version in your gcc compiler and then specify its option at command line


      gcc -std=c99 test.c

      if you atre using any other compiler then check its supported c version and specify its option while compiling.

      all the best. Still you have any problem then please say me..

Leave a Reply

Your email address will not be published. Required fields are marked *



You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>