Файлы в угловых скобочках > будут подключаться из стандартной библиотеки.
Свои файлы необходимо подключать с помощью » двойных кавычек «.
#include «header.h»
Функции
Объявление функций должно происходить в .h-файлах или в начале .c-файла.
void function_1(); void function_2();
Точка входа в программу – это функция main(). Работа программы начинается с неё, вне зависимости от места расположения в коде.
int main()
Для вывода в консоль используется printf
%d – означает, что будем выводить целое число
n переводит указатель на новую строчку
printf(«%dn», 0);
Типы
int обычно имеет длину 4 байта
int x_int = 0;
short имеет длину 2 байта
short x_short = 0;
char имеет длину 1 байт
char x_char = 0;
Одиночные символы заключаются в ‘ одинарные кавычки ‘
char y_char = ‘y’;
long как правило занимает от 4 до 8 байт
long long занимает как минимум 64 бита
long x_long = 0; long long x_long_long = 0;
float это 32-битное число с плавающей точкой (дробное число)
КАК ЧИТАТЬ И ПОНИМАТЬ С/C++ КОД?
float x_float = 0.0;
double это 64-битное число с плавающей точкой
double x_double = 0.0;
Целые типы могут быть беззнаковыми
unsigned short ux_short; unsigned int ux_int; unsigned long long ux_long_long;
sizeof(T) возвращает размер переменной типа Т в байтах
sizeof(object) возвращает размер объекта object в байтах.
printf(«%zun», sizeof(int));
Если аргуметом sizeof будет выражение, то этот аргумент вычисляется во время компиляции кода (кроме динамических массивов)
int a = 1;
size_t это беззнаковый целый тип который использует как минимум 2 байта для записи размера объекта
size_t size = sizeof(a++); // a++ не выполнится
printf(«sizeof(a++) = %zu, где a = %dn», size, a);
Выведет строку «sizeof(a++) = 4, где a = 1» (на 32-битной архитектуре)
Можно задать размер массива при объявлении
char my_char_array[20]; // Этот массив занимает 1 * 20 = 20 байт
int my_int_array[20]; // Этот массив занимает 4 * 20 = 80 байт (сумма 4-битных слов)
Можно обнулить массив при объявлении
char my_array[20] = ;
Индексация массива происходит также как и в других Си-подобных языках
my_array[0];
Массивы изменяемы, как и другие переменные
my_array[1] = 2; printf(«%dn», my_array[1]);
Массив может быть объявлен динамически, размер не обязательно рассчитывать при компиляции
printf(«Enter the array size: «); // спрашиваем юзера размер массива char buf[0x100]; fgets(buf, sizeof buf, stdin); size_t size = strtoul(buf, NULL, 10); // strtoul парсит строку в беззнаковое целое int var_length_array[size]; // объявление динамического массива printf(«sizeof array = %zun», sizeof var_length_array);
Вывод программы (в зависимости от архитектуры) будет таким:
sizeof array = 40
Строка – это просто массив символов, оканчивающийся нулевым (NUL (0x00)) байтом, представляемым в строке специальным символом ‘