мета-данные страницы
Различия
Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
| c:c_ultimate_guide:variables [2025/10/09 11:19] – создано radi0dev | c:c_ultimate_guide:variables [2025/11/09 12:07] (текущий) – внешнее изменение A User Not Logged in | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ====== | + | ====== |
| + | Переменные бывают глобальными, | ||
| + | |||
| + | ===== Переменные и их базовые типы ===== | ||
| + | |||
| + | <code c> | ||
| + | int a; // объявление (случайное значение) | ||
| + | int a = 10; инициализация при объявлении | ||
| + | </ | ||
| + | |||
| + | имена идентификаторов регистрозависимы и могут состоять из следующих символов: | ||
| + | |||
| + | ^ Тип данных ^ Для 16‑битных ^ Для 32‑битных ^ Для 64‑битных ^ Описание ^ Диапазон ^ | ||
| + | | char | 1 | 1 | 1 | Символьный и целочисленный | [0; 255] или [-128; 127] | | ||
| + | | short [int] | 2 | 2 | 2 | Целочисленный | [-32768; 32767] | | ||
| + | | int | 2 | 4 | 4 | Целочисленный | [-32768; 32767] или [-2147483648; | ||
| + | | long [int] | 4 | 4 | 8 | Целочисленный | зависит от платформы (см. столбец) | | ||
| + | | long long [int] | 8 | 8 | 8 | Целочисленный | зависит от реализации (обычно 64‑битный, | ||
| + | | float | 4 | 4 | 4 | Вещественный | см. IEEE‑754 single (примерно ±3.4e38, ~6–9 значащих цифр) | | ||
| + | | double | 8 | 8 | 8 | Вещественный | см. IEEE‑754 double (примерно ±1.7e308, ~15–17 значащих цифр) | | ||
| + | | long double | 10 | 10 | 10 | Вещественный | платформа‑зависимо (часто 80‑битное расширение на x86, иначе совпадает с double) | | ||
| + | |||
| + | для получения размера переменных используеться оператор '' | ||
| + | |||
| + | < | ||
| + | Тип результата оператора sizeof - size_t фактически является псевдонимом для типа unsigned long long | ||
| + | </ | ||
| + | |||
| + | ==== Модификаторы signed и unsigned ==== | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | <note important> | ||
| + | Обратите внимание, | ||
| + | </ | ||
| + | |||
| + | ==== Модификатор const ==== | ||
| + | |||
| + | Объект с модификатором const становиться константным, | ||
| + | |||
| + | <code c> | ||
| + | const float PI = 3.14; | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Числовые и символьные литералы ===== | ||
| + | |||
| + | <code c> | ||
| + | int dec, hex, oct; | ||
| + | dec = 100; | ||
| + | hex = 0x1FA; | ||
| + | oct = 0123; | ||
| + | |||
| + | double d1, d2, d3, d4; | ||
| + | d1 = 10.0; | ||
| + | d2 = -7.; | ||
| + | d3 = 1e2; // < | ||
| + | d4 = 5e-3; | ||
| + | </ | ||
| + | |||
| + | При желании мы можем явно указать компилятору тип числового литерала. Для этого используются следующие суффиксы: | ||
| + | * U или u – использование модификатора unsigned в определении литерала; | ||
| + | * L или l – использование типа long при определении литерала; | ||
| + | * LL или ll – использование типа long long при определении литерала. | ||
| + | |||
| + | <code c> | ||
| + | int dec_i, dec_ui, dec_l, dec_ul; | ||
| + | float var_f; | ||
| + | |||
| + | dec_i = 100; // тип литерала int | ||
| + | dec_ui = 100U; // тип литерала unsigned int | ||
| + | dec_l = 100L; // тип литерала long | ||
| + | dec_ul = 100UL; // тип литерала unsigned long | ||
| + | var_f = 100.0f | ||
| + | </ | ||