C
Что такое C?
C написал Dennis Ritchie в Bell Labs. В языке мало команд: переменная, функция, условие, цикл и адрес памяти. C++ добавляет сверху классы и другие правила. C# — другой язык. Имя похоже, но это не C. Программа на C компилируется в машинный код до запуска.
Для чего нужен C?
C выбирают, когда нужны скорость и маленький размер. Ядро операционной системы, драйвер и микроконтроллер — его место.
- Части ядра Linux
- Программа микроконтроллера
- Компилятор другого языка
- Нижний слой сетевого инструмента
Что можно делать с C?
На C читают файл, считают байты и занимают место в памяти. Язык не проверяет за тебя. Шаг за конец массива может тихо сломать программу. Писать оконный сайт — не его обычная работа.
Сложно ли освоить C?
Слов мало, но адрес труден. Указатель — номер места в памяти. Неверный номер может задеть память другой программы. Если не вернуть занятое место, программа медленно заполняется.
Плюсы и ограничения
Плюс: результат может быть маленьким и быстрым, сам язык мало меняется. Ограничение: готового удобства для текста, списка и ошибки мало. Их пишешь сам. Ошибка безопасности здесь дорогая.
Основные понятия
Тип переменной говорит её размер. Функция связывает работу с именем. Указатель хранит адрес, не само значение.
- int хранит целое число
- char хранит один байт
- if проверяет условие
- return выводит значение из функции
Короткий пример
Эта программа пишет одну строку на экран и заканчивается 0. 0 обычно значит «ошибки не было».
#include <stdio.h>
int main(void) {
printf("Hello\n");
return 0;
}Частые вопросы
- C и C++ — одно и то же? Нет. C++ построен на C, но это отдельный язык.
- C устарел? Нет. Его используют в ядре, драйвере и маленьком устройстве.
- C безопасен? Язык тебя не останавливает. Неверный адрес может сломать программу.