# 01 лекция Крупные компиляторы C/C++ (3,5 независимых реализаций): 1) Clang(LLVM) 2) GCC (Gnu Compiler Coliction) 3) Microsoft (Visual Studio) 4) (3.5) Intel (парсер - clang) (исходно (генерация кода) - своя реализация) Про чистый си можно порекомендовать книжку Керниган Ричи - язык программирования СИ, от создателя языка, есть переводы на русский, но есть и плохие переводы. функция - `тип-возвр-значения имя (аргументы)` ```c= #include <stdio.h> // Копирует сюда заголовочный файл стандартной библиотеки ввода-вывода void f(void); //обьявления функций int g(void); n(void); int main(void) // Пустые строки на C++ эквивал. void - ничего не принимает // На си НЕ эквивалент { f(); // вызов функции f g(); int a = n(); // a == 1 return 0; // Стандарт разрешает не писать, только в main } // Реализация функций void f(void) // ничего не возвращает, ничего не принимает // тело функции { printf("Hello!\n"); return; //выход из функций и ничего не вернем } int g(void) // возвращает int, ничего не принимает { printf("Hello!\n"); return 0; // вернуть 0 } n(void) // возвращает int, ничего не принимает { printf("Hello!\n"); return 1; // вернуть 1 } ``` > f(void) и в С, и в С++ означает, что функция не имеет параметров, а f() в С++ означает то же самое, а в некоторых стандартах С — что функция имеет неизвестное число параметров ---