Учебники

Типы данных C ++

При написании программы на любом языке вам необходимо использовать различные переменные для хранения различной информации. Переменные — это не что иное, как зарезервированные области памяти для хранения значений. Это означает, что когда вы создаете переменную, вы резервируете некоторое пространство в памяти.

Вам может потребоваться хранить информацию различных типов данных, таких как символ, широкий символ, целое число, число с плавающей запятой, двойное число с плавающей запятой, логическое значение и т. Д. На основе типа данных переменной операционная система выделяет память и решает, что можно сохранить в зарезервированная память

Примитивные встроенные типы

C ++ предлагает программисту богатый ассортимент как встроенных, так и пользовательских типов данных. В следующей таблице перечислены семь основных типов данных C ++ —

Тип Ключевое слово
логический BOOL
символ голец
целое число ИНТ
Плавающая запятая поплавок
Двойная точка с плавающей точкой двойной
бесполезный недействительным
Широкий характер wchar_t

Некоторые из базовых типов могут быть изменены с использованием одного или нескольких модификаторов этих типов —

  • подписанный
  • неподписанный
  • короткая
  • долго

В следующей таблице показан тип переменной, сколько памяти требуется для хранения значения в памяти, а также максимальное и минимальное значение, которое может храниться в переменных такого типа.

Тип Типичная ширина бита Типичный диапазон
голец 1 байт От -127 до 127 или от 0 до 255
без знака 1 байт От 0 до 255
подписанный символ 1 байт От -127 до 127
ИНТ 4 байта От -2147483648 до 2147483647
без знака int 4 байта От 0 до 4294967295
подписанный int 4 байта От -2147483648 до 2147483647
короткий int 2bytes От -32768 до 32767
беззнаковый короткий int Спектр От 0 до 65 535
подписанный короткий int Спектр От -32768 до 32767
длинный инт 4 байта От -2 147 483 648 до 2 147 483 647
подписанный длинный int 4 байта такой же как long int
без знака длинный int 4 байта От 0 до 4 294 967 295
поплавок 4 байта +/- 3.4e +/- 38 (~ 7 цифр)
двойной 8bytes +/- 1.7e +/- 308 (~ 15 цифр)
длинный двойной 8bytes +/- 1.7e +/- 308 (~ 15 цифр)
wchar_t 2 или 4 байта 1 широкий символ

Размер переменных может отличаться от приведенного в таблице выше, в зависимости от компилятора и компьютера, который вы используете.

Ниже приведен пример, который даст правильный размер различных типов данных на вашем компьютере.

Live Demo

#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; 

Например, следующее говорит компилятору, что foot — это другое имя для int —

typedef int feet;

Теперь следующее объявление является абсолютно допустимым и создает целочисленную переменную с именем distance —

feet distance;

Перечисляемые типы

Перечислимый тип объявляет необязательное имя типа и набор из нуля или более идентификаторов, которые могут использоваться в качестве значений типа. Каждый перечислитель является константой, тип которой является перечислением.

Создание перечисления требует использования ключевого слова enum . Общая форма типа перечисления —

enum enum-name { list of names } var-list; 

Здесь enum-name — это имя типа перечисления. Список имен разделен запятыми.

Например, следующий код определяет перечисление цветов, называемых цветами, и переменную c типа color. Наконец, с присваивается значение «синий».

enum color { red, green, blue } c;
c = blue;

По умолчанию значение первого имени равно 0, второе имя имеет значение 1, третье — 2 и т. Д. Но вы можете дать имя, конкретное значение, добавив инициализатор. Например, в следующем перечислении зеленый цвет будет иметь значение 5.

enum color { red, green = 5, blue };

Здесь синий будет иметь значение 6, потому что каждое имя будет на одно больше, чем предыдущее.