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