опять же в С99 есть обязательные фичи которые в С11 стали не обязательными и следовательно КРАЙНЕ не рекомендуются к использованию.
Так что тебе наверное надо актуальный С11 с обязательным неиспользованием этих необязательных фичей, ну типа мнимые числа там и всё такое, оно в целом нах не нужно. А если нужно то С99 в руки и поехал.
Так что тупо пиши код с cc -Wall -pedantic -std=c11 -c main.c -o main и всё.
Но если ты для *NIX пишешь и только для то можно забить и юзать gcc без указания стандарта или -std=gnu11 тогда тебе будут доступны все фичи от с89 до с11 включительно и все стандарты смешаются в 1. Но мало компиляторов 100% поддерживают весь стандарт, неприятно, но не критично.
Курсы и книги ну читай всё подряд и всё. Язык не большой. А вот нюансов тонна и они всегда в процессе всплывают, иначе никак.
Скорее вопрос к тебе ты его вооообще не знаешь или уже знаком на каком то уровне?
Оригинальная книга C by Brian Kernighan and Dennis Ritchie. И вот еще книга выглядит увлекательно: Expert C Programming. Пока времени не было почитать, но выглядит очень неплохо.
Оригинальная книга C by Brian Kernighan and Dennis Ritchie
Давно неактуальна.
Сильно положительные отзывы на C Programming: A Modern Approach, King, 2-е издание по C99 (с основ). Потом проапгрейдиться свободной Modern C, Jens Gustedt (соавтор современных стандартов С).