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

Типы данных С++В этой статье мы с вами обсудим типы данных в C++. Мы уже показывали вам идентификаторы, которые используются для идентификации различных объектов в C++ по имени. Помимо идентификаторов, вы, наверное, также знаете, что такое переменная, и что она хранит в себе информацию или данные.

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

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

Типы данных

C++ поддерживает два типа данных, используемых в его программах:

  • Примитивные/стандартные типы данных
  • Пользовательские типы данных.

Ниже приведено графическое представление типов данных в C++.

Типы данных

Примитивные или стандартные типы данных

Примитивные типы данных — это встроенные типы, предоставляемые языком C++. Вы можете напрямую использовать их для объявления сущностей, таких как переменные, константы и т.д. Кроме того, вы также можете называть их предопределенными типами данных или стандартными типами данных.

Ниже приведены различные примитивные типы данных, поддерживаемые C++, с соответствующими ключевыми словами:

Integer (целое) => int
Character (символ) => char
Floating Point (плавающая точка) =>float
Double Floating Point (двойная плавающая точка) => double
Boolean (логическое значение) => bool
Тип Void или Valueless => void
Wide Character (широкий символ) => wchar_t

Пользовательские типы данных

В C++ вы также сможете определять собственные типы данных, такие как класс или структура. Они называются пользовательскими типами.

Различные определяемые пользователем типы данных в C++ перечислены ниже:

  • Определение типа
  • Перечисление
  • Класс или объект
  • Структура

Читать также:  Класс stringstream в C++

Из этих типов тип данных class используется исключительно в объектно-ориентированном программировании на C++.

Тип данных Ключевое слово С++ Значение
Character char Символ (значения ASCII)
Integer int Числовые целые числа
Floating point float Десятичные значения с одинарной точностью
Decimal point double Значения с плавающей запятой двойной точности
Boolean bool Правда или ложь
void void Бесценный (без ценности)
Wide character wchar_t Символ, включая строки Unicode

Модификаторы типа данных

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

Соответственно, в C++ присутствуют следующие типы модификаторов данных:

  • Signed
  • Unsigned
  • Short
  • Long

Диапазон данных, представляемых каждым модификатором, зависит от используемого компилятора.

Программа ниже производит различные размеры различных типов данных.

Размеры примитивных типов данных:

short int: 2 байта
unsigned short int: 2 байта
int: 4 байта
unsigned int: 4 байта
long int: 8 байта
unsigned long int: 8 байтов
long long int: 8 байтов
unsigned long long int: 8 байтов
char: 1 байт
signed char: 1 байт
unsigned char: 1 байт
float: 4 байта
double: 8 байтов
long double: 16 байтов
wchar_t: 4 байта

Скриншот для этого вывода приведен ниже:

Вывод данных

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

Все эти типы данных и соответствующие им размеры можно представить в виде таблицы, как показано ниже:

Тип данных Битовая ширина Диапазон
char 1 байт от 127 до 127 или от 0 до 255
unsigned char 1 байт от 0 до 255
signed char 1 байт от 127 до 127
int 4 байта от 2147483648 до 2147483647
unsigned int 4 байта от 0 до 4294967295
signed int 4 байта от 2147483648 до 2147483647
short int 2 байта от 32768 до 32767
unsigned short int Диапазон от 0 до 65 535
signed short int Диапазон от 32768 до 32767
long int 4 байта от 2 147 483 647 до 2 147 483 647
signed long int 4 байта то же самое, что и long int
unsigned long int 4 байта от 0 до 4 294 967 295
float 4 байта +/- 3,4e +/- 38 (~ 7 цифр)
double 8 байт +/- 1,7e +/- 308 (~ 15 цифр)
long double 8 байт +/- 1,7e +/- 308 (~ 15 цифр)
wchar_t 2 или 4 байта 1 широкий символ

Читать также:  Структура данных циклического связного списка в C++

Это все, что нужно знать о примитивных типах данных в C++.

Пользовательские типы данных

Эти типы данных, как следует из самого названия, определяются самим пользователем. Поскольку они определяются пользователем, их можно настроить в соответствии с требованиями программы.

Определение типа

Используя объявление typedef, вы создаете псевдоним или другое имя для типа данных. Затем вы сможете использовать этот псевдоним для объявления дополнительных переменных.

Например, рассмотрим следующее объявление на C++:

С помощью этого объявления мы создали псевдоним age для типа данных int.

Следовательно, если вы хотите объявить что-то подобное, то можете использовать псевдоним вместо стандартного типа данных, как показано ниже:

Обратите внимание, что псевдоним — это просто другое имя для стандартного типа данных, его можно использовать так же, как и стандартные типы данных.

Перечисление

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

Например, мы можем объявить дни недели как перечисляемый тип данных, как показано ниже:

По умолчанию интегральные константы для каждого значения перечисления начинаются с нуля. Таким образом, «Воскресенье» имеет значение 0, «Понедельник» — 1 и так далее.

Однако вы также можете изменить значения по умолчанию с начала промежуточного значения следующим образом:

Здесь воскресенье будет иметь значение 0, понедельник будет иметь значение 1, а вторник будет иметь значение 5, которое мы присвоили. После вторника оставшиеся значения будут иметь 6, 7 и т. д. в продолжение предыдущего значения (в данном случае 5).

Читать также:  Структура данных очереди в C++

Давайте воспользуемся этим перечислением, которое мы объявили ранее, в следующей программе:

Выход данных:

это 4 день недели

Скриншот выхода данных приведен ниже:

Выход данных 2

Вышеприведенная программа не требует пояснений. Мы определили перечисление, а затем создали его переменную типа для вывода дня недели.

Класс

В C++ вы можете определить еще один определяемый пользователем тип с именем «Class». Класс — это не что иное, как набор объектов. Класс действует как план объекта, и, используя определение класса, вы можете разрабатывать различные задачи в реальном времени.

Например, рассмотрим Class с именем «Student», который будет определен следующим образом:

Как только вы определили этот класс, вы можем использовать имя класса для объявления переменных класса типа. Эти переменные класса типа не что иное, как объекты.

Итак, мы объявляем объект типа student следующим образом:

Как показано выше, вы также можем получить доступ к членам этого класса, которые являются общедоступными. Мы подробно рассмотрим классы и объекты, когда будем рассматривать объектно-ориентированное программирование на C++.

Структура

Структура в C++ аналогична структуре в C. На самом деле концепция структуры в C++ напрямую заимствована из языка C. Как класс, структура также представляет собой набор переменных разных типов данных. Но у класса есть как переменные, так и методы, которые работают с этими переменными или членами, как мы их называем.

Структуры, с другой стороны, имеют в качестве своих членов только переменные.

Мы можем определить структуру следующим образом, используя ключевое слово struct:

Как только структура определена, мы можем объявить переменную типа struct следующим образом:

Затем вы можем получить доступ к членам структуры, используя переменную структуры и оператор доступа к членам (dot Operator).

Итог

Мы расскажем больше о структуре и классе, а также о различиях между ними, когда начнем с объектно-ориентированного программирования на C++.

В нашей следующей статье мы рассмотрим переменные в C++ и другие его аспекты.

С Уважением, МониторБанк

Добавить комментарий