Учебная версия на русском. Код и его вывод сохранены в исходном виде.
Особенности языка C
Узнайте, как функции, типы, память и компиляция используются в системных программах на C.

C — процедурный язык: программа состоит из функций, условий, циклов и структур данных. Базовые типы представляют символы, целые числа и числа с плавающей точкой. Массив объединяет элементы одного типа, а структура — связанные поля разных типов.
Компилятор переводит исходный текст для конкретной платформы. Небольшие накладные расходы не означают постоянного времени выполнения: влияют операционная система, кэш и выбранные операции. Производительность нужно измерять на характерной нагрузке.
Указатели дают доступ к адресам, но требуют проверки границ и времени жизни объектов. Память, полученную через malloc, необходимо освободить через free. В языке нет встроенного автоматического сборщика мусора.
Соблюдение стандарта упрощает переносимость, но размеры типов и системные интерфейсы могут различаться. Используйте sizeof и подходящие заголовки; не считайте, что любой указатель занимает восемь байт.
Код C
#include <stdio.h>
int main(void) {
printf("==============================\n");
printf("C Language Hardware Inspection\n");
printf("==============================\n");
printf("Standard C Version : %ld\n", __STDC_VERSION__);
printf("Pointer Width : %zu bytes\n", sizeof(void*));
printf("Integer Width : %zu bytes\n", sizeof(int));
printf("Double Width : %zu bytes\n", sizeof(double));
return 0;
}Открыть в компилятореОжидаемый вывод
============================== C Language Hardware Inspection ============================== Standard C Version : 201710 Pointer Width : 8 bytes Integer Width : 4 bytes Double Width : 8 bytes
Частые вопросы
Почему код и вывод остаются на английском?
Ключевые слова, идентификаторы и строки, проверяемые тестами, сохранены, чтобы не менять программу. Объяснения и элементы управления переведены.