The C programming language was initially developed in AT&T labs by Professor Brian W. Kernighan and Dennis Ritchie, known as K&R C.
During the year 1970, 'C' programming became very popular but without any serious standardization to the language.
The non-official standard was called K&R C, which led to many ambiguities among different compiler programmers, and that led to non-portable codes.
K&R C was the first non-official 'C' standard.
In 1989 American National Standard Institute designed and approved first official C standard called X3.159-1989, and in 1990 it was approved by ISO as an international for C programming language: ISO/IEC 9899:1990 (This is also called ANSI C or C89 or C90 standard in short)
The language under few more changes (addition of new features, syntaxes, data types, etc, ) and newly updated standard released in 1999 under the ISO tag ISO/IEC 9899:1999 which is also called C99 standard in short
C11 is an informal name for ISO/IEC 9899:2011, which is a new standard approved in December 2011. C11 supersedes the C99 standard.
In this course, we will be using the 'C11' standard with some compiler (GCC) extensions (gnu11). More on this, we will see later
Note that if you have written a code using C90 standard, then it will compile without any issues in -std=C99 compilation(backward compatibility )
If you have written a code using C99 standard specific features, then It may not compile successfully in C90 compilation.