Типы данных в C: int, float, char и другие — полное руководство
Типы данных в C
Это руководство разъясняет фундаментальные типы данных в C — int, float, char и другие — чтобы вы могли писать точный, эффективный код.
Видео: Типы данных в программировании на C
В C каждая переменная объявляется с типом данных, определяющим её размер и диапазон значений. Например:
int myVar;
Здесь myVar — переменная типа int (целое число), обычно занимающая 4 байта.
Базовые типы
Ниже — быстрый справочник для наиболее часто используемых типов данных C.
| Тип | Размер (байты) | Спецификатор формата |
|---|---|---|
int | минимум 2, обычно 4 | %d, %i |
char | 1 | %c |
float | 4 | %f |
double | 8 | %lf |
short int | обычно 2 | %hd |
unsigned int | минимум 2, обычно 4 | %u |
long int | минимум 4, обычно 8 | %ld, %li |
long long int | минимум 8 | %lld, %lli |
unsigned long int | минимум 4 | %lu |
unsigned long long int | минимум 8 | %llu |
signed char | 1 | %c |
unsigned char | 1 | %c |
long double | минимум 10, обычно 12 или 16 | %Lf |
int
int представляет целые числа — ноль, положительные и отрицательные — без десятичной точки. Типичные примеры: 0, -5, 10.
Объявление целочисленной переменной:
int id;
Переменная id теперь хранит целое число. Можно объявлять несколько одновременно:
int id, age;
На большинстве платформ int — 4 байта (32 бита) и может представлять 232 различных значений от –2 147 483 648 до 2 147 483 647.
float и double
Используйте float и double для хранения вещественных (с плавающей точкой) чисел.
float salary; double price;
Оба типа поддерживают научную нотацию, например:
float normalizationFactor = 22.442e2;
Ключевое различие: float (одинарная точность) занимает 4 байта, тогда как double (двойная точность) — 8 байт.
char
Ключевое слово char объявляет переменную для одного символа. Пример:
char test = 'h';
Её размер — ровно 1 байт.
void
void представляет отсутствие типа. Используется для функций, не возвращающих значения:
void printMessage() { printf("Hello, world!\n"); }
Переменные типа void создать нельзя.
short и long
Когда нужен больший числовой диапазон, используйте long или long long:
long a; long long b; long double c;
Для малых целых диапазонов (–32 767 до 32 767) достаточно short:
short d;
Проверить размер типа можно с помощью sizeof():
#include <stdio.h>
int main() {
short a; long b; long long c; long double d;
printf("size of short = %zu bytes\n", sizeof(a));
printf("size of long = %zu bytes\n", sizeof(b));
printf("size of long long = %zu bytes\n", sizeof(c));
printf("size of long double = %zu bytes\n", sizeof(d));
return 0;
}
signed и unsigned
Модификаторы, управляющие диапазоном значений типа:
signed— допускает отрицательные и положительные значения.unsigned— ограничивает только неотрицательными значениями.
Примеры:
// валидно
unsigned int x = 35;
int y = -35; // signed int
int z = 36; // signed int
// невалидно — unsigned не может хранить отрицательные числа
unsigned int num = -35;
С 4-байтовым int, y охватывает –231 до 231‑1, а x — 0 до 232‑1.
Производные типы данных
Производные типы строятся на базе фундаментальных: массивы, указатели, структуры и функции. Дальнейшие руководства покроют их детально.
- Тип bool
- Перечисляемый тип (enum)
- Комплексные типы
Язык C
- Понимание ключевых слов и идентификаторов C#: правила, списки и лучшие практики
- Мастерство C# переменных и примитивных типов данных: полное руководство
- Освоение директив препроцессора C#: практическое руководство
- Понимание типов данных C++: основы, модификаторы и лучшие практики
- Четыре проверенных паттерна пользовательских функций в C
- Освоение типов данных в Python: практическое руководство
- Примитивные типы данных в Java: полное руководство с примерами
- Переменные и типы данных в C++: подробное руководство по int, double, char, string, bool
- Типы данных в C: полное руководство по целочисленным, вещественным и производным типам
- Функции в C: объявление, определение, вызов, аргументы (по значению и по ссылке), рекурсия