Чтобы добавить к другим замечательным ответам:
Относительно различных диалектов - в C добавлены некоторые дополнительные функции, которые зависят от компилятора.Вы можете предоставить gcc флаг командной строки -std=...
, чтобы указать стандарт C, который вы хотите использовать, у каждого есть небольшие изменения / дополнения к синтаксису, наиболее распространенным является, вероятно, c99
.
Каждый компилятор имеет тенденцию реализовывать несколько различных дополнений, например, typeof()
не входит в стандарт C, и поэтому компиляторы не должны реализовывать это, но, тем не менее, это полезно, и большинство компиляторов предоставляют его.Вот список расширений gcc C
Stdlib - это набор функций, определенных в стандарте C.Как и компиляторы, stdlib может иметь разные реализации.Реализация GNU является открытым исходным кодом, как и gcc, но есть другие компиляторы и могут быть другие реализации stdlib с закрытым исходным кодом.