4
część narzędzi systemowych była napisana w C, logiczne było pisanie kolejnych w tym samym języku.
Kilka z obecnie powszechnie stosowanych systemów operacyjnych takich jak Linux, Microsoft Windows zostały napisane w języku C.
W 1978 roku Ritchie i Kerninghan opublikowali pierwszą książkę nt. języka C — “The C Programming Language”. Owa książka przez wiele lat była swoistym “wyznacznikiem”, jak programować w języku C. Była więc to niejako pierwsza standaryzacja, nazywana od nazwisk twórców “K&R”. Oto nowości, wprowadzone przez nią do języka C w stosunku do jego pierwszych wersji (pochodzących z początku lat 70.):
• możliwość tworzenia struktur (słowo struct)
• dłuższe typy danych (modyfikator long)
• liczby całkowite bez znaku (modyfikator unsigned)
• zmieniono operator “=+” na “+=”
Ponadto producenci kompilatorów (zwłaszcza AT&T) wprowadzali swoje zmiany, nieobjęte standardem:
• funkcje nie zwracające wartości (void) oraz typ void*
• funkcje zwracające struktury i unie
• przypisywanie wartości strukturom
• wprowadzenie słowa kluczowego const
• utworzenie biblioteki standardowej
• wprowadzenie słowa kluczowego enum
Owe nieoficjalne rozszerzenia zagroziły spójności języka, dlatego też powstał standard, regulujący wprowadzone nowinki. Od 1983 roku trwały prace standaryzacyjne, aby w 1989 roku wydać standard C89 (poprawna nazwa to: ANSI X3.159-1989). Niektóre zmiany wprowadzono z języka CH—h, jednak rewolucję miał dopiero przynieść standard C99, który wprowadził m.in.:
• funkcje inline
• nowe typy danych (np. long long int)
• nowy sposób komentowania, zapożyczony od C+-1- (//)
• przechowywanie liczb zmiennoprzecinkowych zostało zaadaptowane do norm IEEE
• utworzono kilka nowych plików nagłówkowych (stdbool.h, inttypes.h)
Na dzień dzisiejszy normą obowiązującą jest norma C99.