Какая версия C больше подходит для изучения студентами - C89 / 90 или C99?

Я изучаю основы и синтаксис C, прежде чем приступить к системному программированию в следующем месяце. Когда читаешь, Наткнулся на стандарты C89 / 99. Согласно Википедии,

C99 представил несколько новых функций, включая встроенные функции, несколько новые типы данных (включая long long int и сложный тип для представления комплексные числа), переменной длины массивы, поддержка вариативных макросов (макросы переменной арности) и поддержка для однострочных комментариев, начинающихся с //, как в BCPL или C ++. Многие из этих уже был реализован как расширения в нескольких компиляторах C.

C99 по большей части является обратной совместим с C90, но строже в какой-то степени; в частности, объявление без типа спецификатор больше не имеет int неявно предполагается. Стандартный макрос STDC_VERSION определяется значением 199901L, чтобы указать, что C99 поддерживает доступен. GCC, Sun Studio и другие компиляторы теперь поддерживают многие или все новые функции C99.

Я позаимствовал копию K&R, 2nd Edition, и она использует стандарт C89. Для учащегося, делает ли использование C89 недействительными некоторые предметы, охваченные K&R, и если да, то на что мне следует обратить внимание?

19
задан Bill the Lizard 15 September 2012 в 23:29
поделиться