Типы данных C ++
При написании программы на любом языке вам необходимо использовать различные переменные для хранения различной информации. Переменные - это не что иное, как зарезервированные ячейки памяти для хранения значений. Это означает, что когда вы создаете переменную, вы резервируете некоторое место в памяти.
Вы можете хранить информацию о различных типах данных, таких как символьные, широкие символы, целые числа, числа с плавающей запятой, двойные числа с плавающей запятой, логические значения и т. Д. На основе типа данных переменной операционная система выделяет память и решает, что можно сохранить в зарезервированная память.
Примитивные встроенные типы
C ++ предлагает программисту богатый набор как встроенных, так и определяемых пользователем типов данных. В следующей таблице перечислены семь основных типов данных C ++.
Тип | Ключевое слово |
---|---|
Булево | bool |
символ | char |
Целое число | int |
Плавающая запятая | плавать |
Двойная плавающая точка | двойной |
Бесполезный | пустота |
Широкий характер | wchar_t |
Некоторые из основных типов могут быть изменены с помощью одного или нескольких из этих модификаторов типов:
- signed
- unsigned
- short
- long
В следующей таблице показан тип переменной, сколько памяти требуется для хранения значения в памяти, а также максимальное и минимальное значение, которое может быть сохранено в таких типах переменных.
Тип | Типичная битовая ширина | Типичный диапазон |
---|---|---|
char | 1 байт | От -127 до 127 или от 0 до 255 |
беззнаковый символ | 1 байт | От 0 до 255 |
подписанный символ | 1 байт | От -127 до 127 |
int | 4 байта | От -2147483648 до 2147483647 |
беззнаковое целое | 4 байта | 0 на 4294967295 |
подписанный int | 4 байта | От -2147483648 до 2147483647 |
короткий int | 2 байта | От -32768 до 32767 |
беззнаковый короткий int | 2 байта | От 0 до 65 535 |
подписанный короткий int | 2 байта | От -32768 до 32767 |
длинный интервал | 8 байтов | От -2 147 483 648 до 2 147 483 647 |
подписанный длинный int | 8 байтов | то же самое, что и long int |
беззнаковый длинный int | 8 байтов | От 0 до 4 294 967 295 |
длинный длинный int | 8 байтов | - (2 ^ 63) до (2 ^ 63) -1 |
беззнаковый длинный длинный int | 8 байтов | От 0 до 18 446 744 073 709 551 615 |
плавать | 4 байта | |
двойной | 8 байтов | |
длинный двойной | 12 байтов | |
wchar_t | 2 или 4 байта | 1 широкий символ |
Размер переменных может отличаться от размера, указанного в приведенной выше таблице, в зависимости от компилятора и компьютера, который вы используете.
Ниже приведен пример, который позволяет получить правильный размер различных типов данных на вашем компьютере.
#include <iostream>
using namespace std;
int main() {
cout << "Size of char : " << sizeof(char) << endl;
cout << "Size of int : " << sizeof(int) << endl;
cout << "Size of short int : " << sizeof(short int) << endl;
cout << "Size of long int : " << sizeof(long int) << endl;
cout << "Size of float : " << sizeof(float) << endl;
cout << "Size of double : " << sizeof(double) << endl;
cout << "Size of wchar_t : " << sizeof(wchar_t) << endl;
return 0;
}
В этом примере используется endl, который вставляет символ новой строки после каждой строки, а оператор << используется для передачи нескольких значений на экран. Мы также используемsizeof() оператор, чтобы получить размер различных типов данных.
Когда приведенный выше код компилируется и выполняется, он дает следующий результат, который может варьироваться от машины к машине:
Size of char : 1
Size of int : 4
Size of short int : 2
Size of long int : 4
Size of float : 4
Size of double : 8
Size of wchar_t : 4
Объявления typedef
Вы можете создать новое имя для существующего типа, используя typedef. Ниже приведен простой синтаксис для определения нового типа с помощью typedef:
typedef type newname;
Например, следующее говорит компилятору, что ноги - это другое имя для int:
typedef int feet;
Теперь следующее объявление совершенно законно и создает целочисленную переменную с именем distance -
feet distance;
Нумерованные типы
Перечислимый тип объявляет необязательное имя типа и набор из нуля или более идентификаторов, которые могут использоваться в качестве значений типа. Каждый перечислитель - это константа, тип которой - перечисление.
Создание перечисления требует использования ключевого слова enum. Общая форма перечислимого типа -
enum enum-name { list of names } var-list;
Здесь enum-name - это имя типа перечисления. Список имен разделен запятыми.
Например, следующий код определяет перечисление цветов, называемых цветами, и переменную c типа color. Наконец, c присваивается значение «синий».
enum color { red, green, blue } c;
c = blue;
По умолчанию значение первого имени равно 0, второе имя имеет значение 1, а третье - значение 2 и так далее. Но вы можете дать имя, конкретное значение, добавив инициализатор. Например, в следующем перечисленииgreen будет иметь значение 5.
enum color { red, green = 5, blue };
Вот, blue будет иметь значение 6, потому что каждое имя будет на единицу больше, чем предшествующее ему.