Типы данных 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, потому что каждое имя будет на единицу больше, чем предшествующее ему.