Типы данных в языке C++
Админ сайта Разработка на C++ Просмотров: 517
User Rating: 0 / 5
Рейтинг
(0)
В этой статье мы с вами познакомимся с основными типами данных, которые предоставляет разработчику язык C++.
Итак, давайте приступим. В языке C++ типы данных предназначены для объявления переменных. Тип данных определяет тип и размер данных, которые связаны с какой-то конкретной переменной. Все типы данных делятся на три основные категории: целочисленные, с плавающей точкой и void. Все типы данных задаются стандартом языка C++ и встроены в компилятор.
Посмотрим сразу на список примитивных встроенных в C++ типов данных:
- int — тип данных для хранения целых чисел.
- float — тип данных для хранения чисел с «плавающей точкой», т.е. десятичных чисел (десятичных дробей). Размер памяти 4 байта
- double — тип данных для хранения чисел с «плавающей точкой» двойной точности. Похож на тип данных float, но обеспечивает большую точность при расчётах и использовании десятичных дробей. Размер памяти 8 байт
- char — тип данных для хранения одного символа. Размер памяти 1 байт
- wchar_t — тип данных для хранения одного «расширенного» символа. Размер памяти 2 байта
- bool — логический тип данных, используется для хранения значений булева типа, т.е. тех, что могут принимать значения «истина» или «ложь». Размер памяти 1 байт
- void — тип данных, обозначающий «пустоту», или «отсутствие какого-то значения». Размер памяти 0 байт
Язык C++ чрезвычайно мощный, и на перечисленном выше списке возможные типы данных, которые могут использоваться в C++, не ограничиваются.
Некоторые из базовых типов могут быть также изменены с помощью одного или нескольких модификаторов типа:
- signed
- unsigned
- short
- long
Далее по тексту статьи мы узнаем, как это делается, а пока остановимся на тех примитивных типах данных, что описаны выше, и посмотрим на несколько примеров их использования.
Тип данных int
Тип данных int широко применяется там, где нужна работа с целыми числами. Ниже показано простое объявление трёх разных переменных с типом int:
int daysInWeek = 7; int monthsInYear = 12; int currentYear = 2022;
Тип данных float
Тип данных float, в отличие от типа int, используется для хранения «чисел с плавающей точкой», т. е., попросту говоря, десятичных дробей. Давайте поглядим, как можно объявить переменные типа float:
float bottleVolume = 0.5; float normalHumanTemperature = 36.6;
Тип данных double
Как уже было сказано, тип данных double очень похож на float, за исключением того, что он использует больше памяти для хранения данных (8 байт вместо 4 байт для типа float). В остальном определения переменных с типом double выглядят почти так же, как и для вышеупомянутых типов:
double doubleVal1 = 1234.56789101112; double doubleVal2 = -77.1122334455667788;
Тип данных char
Тип данных char используется для хранения символов (от англ. characters, отсюда и название самого типа данных). Значения для этого типа данных заключаются с обеих сторон в одинарные кавычки ( ‘ ), например, давайте объявим пару переменных с этим типом данных:
char chA = 'A'; char chB = 'B'; char chQuestionMark = '?';
Тип данных bool
Тип данных bool может иметь всего одно из двух возможных значений — true или false. Значение true обозначает «истину», а false — «ложь». Посмотрим на пример:
bool isNegative = false; bool isDataEntered = true;
В примере выше объявили две переменных с типом
Тип данных void
Тип данных void показывает отсутствие данных. Он обозначает буквально «ничто» или «нет значения». Тип данных void как правило используется при работе с функциями и указателями. Важным моментом, который нужно запомнить, является то, что мы не можем объявить переменную с типом void.
А вот как может выглядеть объявление функции с типом void, которая «ничего не возвращает» (фактически, этот метод является процедурой):
void functionReturningNothing() { // делаем здесь что-то... }
Теперь, когда мы рассмотрели основные встроенные примитивные типы данных, вернёмся к вопросу о том, как они могут быть изменены с помощью модификаторов типа на примере следующей таблицы:
Тип данных | Размер памяти под тип данных | Диапазон принимаемых значений |
int | 4 байта | от -2 147 483 648 до 2 147 483 647 |
4 байта | от 0 до 4 294 967 295 | |
signed int | 4 байта | от -2 147 483 648 до 2 147 483 647 |
short int | 2 байта | от -32 768 до 32 767 |
unsigned short int | 2 байта | от 0 до 65 535 |
char | 1 байт | от -127 до 127 или от 0 до 255 |
unsigned char | 1 байт | от 0 до 255 |
signed char | 1 байт | от -127 до 127 |
long int | 8 байт | от -2 147 483 648 до 2 147 483 647 |
signed long int | 8 байт | от -2 147 483 648 до 2 147 483 647 |
unsigned long int | 8 байт | от 0 до 4 294 967 295 |
long long int | 8 байт | от -(2^63) до (2^63)-1 |
unsigned long long int | 8 байт | от 0 до 18 446 744 073 709 551 615 |
float | 4 байта | относительное значение диапазона: является наименьшим типов с плавающей запятой в C++ (абсолютный размер встроенных типов с плавающей запятой не указан в стандарте языка C++) |
double | 8 байт | относительное значение диапазона: значения больше или равны типу float, но меньше, чем у long double (абсолютный размер встроенных типов с плавающей запятой не указан в стандарте языка C++) |
long double | 12 байт | относительное значение диапазона принимаемых значений: значения больше или равны размеру типа double (абсолютный размер встроенных типов с плавающей запятой не указан в стандарте языка C++) |
Посмотрим, как можно объявлять переменные с некоторыми из расширенных типов данных, представленных в таблице:
unsigned char ch = 255; unsigned long int veryLongInt = 18446744073709551615; long double veryLongDoubleValue = 0. 333333333333333333333333333333333333333333333333333;
Напоследок, мы можем написать небольшую программу на C++, которая выведет для нас размер выделяемой памяти под все описанные в статье типы данных C++. Обратите внимание на использования для этой цели специального оператора sizeof:
#include <iostream> int main() { std::cout << "Size of 'int' data type: " << sizeof(int) << " bytes" << std::endl; std::cout << "Size of 'unsigned int' data type: " << sizeof(unsigned int) << " bytes" << std::endl; std::cout << "Size of 'signed int' data type: " << sizeof(signed int) << " bytes" << std::endl; std::cout << "Size of 'short int' data type: " << sizeof(short int) << " bytes" << std::endl; std::cout << "Size of 'unsigned short int' data type: " << sizeof(unsigned short int) << " bytes" << std::endl; std::cout << "Size of 'float' data type: " << sizeof(float) << " bytes" << std::endl; std::cout << "Size of 'double' data type: " << sizeof(double) << " bytes" << std::endl; std::cout << "Size of 'long double' data type: " << sizeof(long double) << " bytes" << std::endl; std::cout << "Size of 'bool' data type: " << sizeof(bool) << " bytes" << std::endl; std::cout << "Size of 'char' data type: " << sizeof(char) << " bytes" << std::endl; std::cout << "Size of 'unsigned char' data type: " << sizeof(unsigned char) << " bytes" << std::endl; std::cout << "Size of 'signed char' data type: " << sizeof(signed char) << " bytes" << std::endl; std::cout << "Size of 'wchar_t' data type: " << sizeof(wchar_t) << " bytes" << std::endl; std::cout << "Size of 'long int' data type: " << sizeof(long int) << " bytes" << std::endl; std::cout << "Size of 'unsigned long int' data type: " << sizeof(unsigned long int) << " bytes" << std::endl; std::cout << "Size of 'long long int' data type: " << sizeof(long long int) << " bytes" << std::endl; std::cout << "Size of 'unsigned long long int' data type: " << sizeof(unsigned long long int) << " bytes" << std::endl; }
Результат выполнения программы на экране консоли будет выглядеть следующим образом:
Size of 'int' data type: 4 bytes
Size of 'unsigned int' data type: 4 bytes
Size of 'signed int' data type: 4 bytes
Size of 'short int' data type: 2 bytes
Size of 'unsigned short int' data type: 2 bytes
Size of 'float' data type: 4 bytes
Size of 'double' data type: 8 bytes
Size of 'long double' data type: 8 bytes
Size of 'bool' data type: 1 bytes
Size of 'char' data type: 1 bytes
Size of 'unsigned char' data type: 1 bytes
Size of 'signed char' data type: 1 bytes
Size of 'wchar_t' data type: 2 bytes
Size of 'long int' data type: 4 bytes
Size of 'unsigned long int' data type: 4 bytes
Size of 'long long int' data type: 8 bytes
Size of 'unsigned long long int' data type: 8 bytes
Как видите, даже если Вы вдруг забыли, сколько именно байт в памяти будет занимать переменная какого-то типа данных. Ведь при помощи указанного выше способа можно легко это определить самостоятельно, средствами языка C++.
Надеюсь, эта статья пригодится и будет полезна всем разработчикам, работающим с языком C++.
Напоследок отмечу, что если Вы работаете со средой C++ в среде разработки Microsoft Visual Studio, то более подробно о типах данных в языке C++ можно также почитать здесь.
Спасибо за внимание, удачи! Буду благодарен за отзывы в комментариях к этой статье.
- C++
- Обучение C++
- Назад
- Вперед
Резюме: основные типы данных. Язык Си
Резюме: основные типы данных. Язык Си — руководство для начинающихВикиЧтение
Язык Си — руководство для начинающих
Прата Стивен
Содержание
Резюме: основные типы данных
Ключевые слова
Данные основных типов вводятся в программу при помощи следующих семи ключевых слов: int, long, short, unsigned, char, float, double.
Основные варианты и типы сетей
Основные варианты и типы сетей Существует две разновидности сети: локальная (Local Area Networks, LAN) и глобальная (Wide Area Networks, WAN), причем вторая – это частный случай первой сети, только в гораздо больших масштабах.Локальная сеть представляет собой сеть из компьютеров,
Рекламные носители медийной рекламы в Интернете. Основные типы
Рекламные носители медийной рекламы в Интернете. Основные типы Основными носителями медийной рекламы в интернете сегодня являются:• баннеры;• Rich-Media баннеры;• Pop-under баннеры;• баннеры-трансформеры.1. БАННЕРЫ. Обычно представляют собой прямоугольные графические
Типы данных
Типы данных Несмотря на то, что типы данных подробно описаны в документации (см. [1, гл. 4]), необходимо рассмотреть ряд понятий, которые будут часто использоваться в последующих главах книги. Помимо изложения сведений общего характера будут рассмотрены также примеры
R.3.6.1 Основные типы
R.3.6.1 Основные типы Существует несколько основных типов. В стандартном заголовочном файле ‹limits.h› задаются в зависимости от реализации минимальные и максимальные значения каждого типа.Объекты, описанные как символы (char), могут хранить любой элемент из базового набора
Глава 2 Ввод данных. Типы, или форматы, данных
Глава 2 Ввод данных. Типы, или форматы, данных Работа с документами Excel сопряжена с вводом и обработкой различных данных, то есть ин формации, которая может быть текстовой, числовой, финансовой, статистической и т. д. МУЛЬТИМЕДИЙНЫЙ КУРС Методы ввода и обработки данных
Основные типы данных
Основные типы данных Ключевые слова: Основные типы данных определяются с помощью следующих семи ключевых слов: int, long, short, unsigned, char, float, double Целые со знаком: Могут иметь положительные и отрицательные значения.
Типы данных
Типы данных Многие языки программирования при объявлении переменной требуют указывать, какой тип данных будет ей присваиваться. Например, в языке Java кодint i = 15;объявит переменную целого типа int с именем i и присвоит ей значение 15. В этом случае тип данных ставится в
1.3.1 Основные Типы
0
2.3.1 Основные Типы
2.3.1 Основные Типы В С++ есть набор основных типов, которые соответствуют наиболее общим основным единицам памяти компьютера и наиболее общим основным способам их использования:char short int int long intдля представления целых различных размеров,float doubleдля представления чисел с
4.
5 Основные Типы4.5 Основные Типы Объекты, описанные как символы (char), достаточны для хранения любого элемента машинного набора символов, и если принадлежащий этому набору символ хранится в символьной перменной, то ее значение равно целому коду этого символа.В настоящий момент имеются
2.1. Основные типы документов
2.1. Основные типы документов В терминах КОМПАС-3В LT любое изображение, которое можно построить средствами системы, принято называть документом. С помощью КОМПАС-3D LT можно создавать документы трех типов: детали, плоские чертежи и фрагменты. В случаях, когда идет речь о
11.2. Основные варианты и типы сетей
11.2. Основные варианты и типы сетей Сегодня, как и 10 лет назад, существует два типа сети – одноранговая и на основе сервера (выделенного компьютера).
Основные типы вирусов
Основные типы вирусов Итак, существует четыре основных типа вредоносных программ:? классические компьютерные вирусы;? троянские программы;? сетевые черви;? прочие вредоносные
5.2.4. Типы данных
5.2.4. Типы данных Мы можем вводить в ячейки следующие данные: текст, числа, даты, также приложение Numbers предоставляет возможность добавлять флажки, ползунки и другие элементы управления. Аналогично MS Excel для выравнивания чисел, дат и текстовых данных в Numbers существуют
Лекция 10. Основные понятия и типы архитектуры PKI
Лекция 10. Основные понятия и типы архитектуры PKI Рассматриваются такие понятия архитектуры PKI, как путь сертификации, пункты доверия PKI, доверенный ключ. Описываются простая, иерархическая, сетевая и гибридная архитектура PKI, обсуждаются способы построения пути
Программирование на C++ — основные типы данных
Встроенный тип
1) Интегральный тип : — Типы данных этого типа — int и char. Модификаторы signed, unsigned, long и short могут применяться к символьному и целочисленному базовым типам данных. Размер int – 2 байта, а char – 1 байт.
2) void – используется void:
i) Чтобы указать тип возвращаемого значения функции, когда она не возвращает никакого значения.
ii) Для указания пустого списка аргументов функции.
Ex- void function1(void)
iii) В объявлении универсальных указателей.
Exvoid *gp
Универсальному указателю может быть присвоено значение указателя любого базового типа данных.
Пр. int *ip // это указатель int
gp = ip //назначить указатель int на void.
Указатель void не может быть напрямую назначен указателям их типов в C++, нам нужно использовать оператор приведения.
Ex – void *ptr1;
символов *ptr2;
ptr2 = ptr1; разрешено в c, но не в c++.
ptr2 = (char *)ptr1; является правильным утверждением.
3) Тип с плавающей запятой:
Типы данных здесь — float и double. Размер числа с плавающей запятой составляет 4 байта, а значение типа double — 8 байт. Модификатор long может быть применен к double, а размер long double равен 10 байтам.
Пользовательский тип:
i) Структура пользовательского типа данных и объединение такие же, как и в C.
ii) Классы — Класс — это определяемый пользователем тип данных, который можно использовать так же, как и любой другой базовый тип данных
после его объявления. Переменные класса известны как объекты.
iii) Перечисление
а) Перечисляемый тип данных — это еще один тип, определяемый пользователем, который позволяет прикреплять имена к числам, чтобы упростить код.
б) Он использует ключевое слово enum, которое автоматически перечисляет список слов, присваивая им значения 0, 1, 2 и т. д.
Синтаксис:-
enum shape {
круг, квадрат, треугольник;
}
Теперь shape становится именем нового типа, и мы можем объявлять новые переменные этого типа.
Пр. форма овальная;
d) В C++ перечисляемый тип данных имеет свой отдельный тип. Поэтому C++ не позволяет автоматически преобразовывать значение типа int в значение перечисления.
Пример. shape shape1 = треугольник, // разрешено
форма форма1 = 2; // Ошибка в С++
shape shape1 = (shape)2; //ok
e) По умолчанию перечислителям присваиваются целые значения, начинающиеся с 0, но мы можем переопределить значение по умолчанию, присвоив какое-либо другое значение.
Ex enum color {красный, синий, розовый = 3}; // он назначит красный цвет o, синий — 1, а розовый — 3 или enum color {red = 5, blue, green}; // он назначит красный цвет 5, синий 6 и зеленый 7.
Производные типы данных:
1) Массивы
Массив в C++ аналогичен массиву в c, единственное отличие состоит в способе инициализации массивов символов. В C++ размер должен быть на единицу больше, чем количество символов в строке, где в c он точно такой же, как длина строковой константы.
Ex – char string1[3] = «ab»; // в С++
char string1[2] = «ab»; // в с.
2) Функции
Функции в C++ отличаются от функций в C. В функции C++ внесено множество изменений из-за объектно-ориентированных концепций C++.
3) Указатели
Указатели объявляются и инициализируются, как в c.
Ex int * ip; // указатель int
ip = &x; // адрес x через косвенность
C++ добавляет концепцию постоянного указателя и указателя к постоянному указателю.
char const *p2 = .HELLO.; // постоянный указатель
Далее у вас есть сводка основных основных типов данных в C++, а также диапазон значений, которые могут быть представлены каждым из них:
Имя Описание Размер* Диапазон*
символов — 1 байт; со знаком: -128 t127, без знака: от 0 до 255
short int (short)
short Integer – 2 байта; со знаком: от -32768 до 32767, без знака: от 0 до 65535
целое число . 4 байта со знаком: – от 2147483648 до 2147483647, без знака: от 0 до 4294967295
long int или (long)
0 Long integer . 4 байта со знаком: от -2147483648 до 2147483647, без знака: от 0 до 4294967295
Bool — логическое значение. Он может принимать одно из двух значений: true или false.
1 байт true или false
Float Плавающая запятая число .- 4 байта 3.4e +/- 38 (7 цифр)
двойная двойная точность
с плавающей запятой число .
Вас может заинтересовать:
Программирование на C MCQ
Программирование на C++ MCQ
Объектно-ориентированное программирование с использованием C++ Краткие вопросы Ответы
Типы данных на языке C, Языки для изучения данных
3 90
Типы данных C определяются как формат хранения данных, в котором переменная может хранить данные для выполнения определенной операции.
Типы данных используются для определения переменной перед ее использованием в программе. Размер переменной, константы и массива определяется типами данных.
В языке C существует четыре типа данных. Они есть,
Серийный номер | Типы | Типы данных |
---|---|---|
1 | AОсновные типы данных | int, char, float, double |
2 | Тип данных перечисления | перечисление |
3 | Производный тип данных | указатель, массив, структура, объединение |
4 | Пустой тип данных | пустота |
1. Основные типы данных в C:
Основные типы данных основаны на целых числах и числах с плавающей запятой. Язык C поддерживает как знаковые, так и беззнаковые литералы.
Типы целых чисел: Целые числа — это целые числа с диапазоном переменных, поддерживаемых конкретной машиной.
Плавающая точка Тип данных: Числа с плавающей запятой хранятся с точностью до 6 цифр. Они определяются с помощью ключевого слова float. Когда точности недостаточно, можно использовать тип данных double. Double дает прецессию из 14 цифр, известную как числа двойной прецессии. Тем не менее, для лучшего процесса мы можем использовать long double, который использует 80 бит.
Размер памяти основных типов данных может меняться в зависимости от 32- или 64-разрядной операционной системы.
Рассмотрим основные типы данных. Его размер указан для 32-битной ОС.
Типы данных | Объем памяти | Диапазон |
---|---|---|
символ | 1 байт | от −128 до 127 |
подписанный символ | 1 байт | от −128 до 127 |
беззнаковый символ | 1 байт | от 0 до 255 |
Целое число | 2 байта | от −32 768 до 32 767 |
подписанный внутренний номер | 2 байта | от −32 768 до 32 767 |
целое число без знака | 2 байта | от 0 до 65 535 |
короткое целое | 2 байта | от −32 768 до 32 767 |
подписанное короткое целое | 2 байта | от −32 768 до 32 767 |
короткое целое без знака | 2 байта | от 0 до 65 535 |
длинный интервал | 4 байта | -2147483648 до 2147483647 |
подписанное длинное целое | 4 байта | -2147483648 до 2147483647 |
длинное целое без знака | 4 байта | О до 42949667295 |
поплавок | 4 байта | от 3. 4e-38 до 3.4e+ 38 |
двойной | 8 байт | 1.7e – от 308 до 1.7e+308 |
длинный двойной | 10 байт | 3.4e – 4932 до 3.4e+4932 |
2. Тип данных перечисления в C:
Тип данных перечисления состоит из именованных целочисленных констант в виде списка.
По умолчанию он начинается с 0 (нуля), а значение увеличивается на 1 для последовательных идентификаторов в списке.
Синтаксис перечисления в C:
идентификатор перечисления [необязательный {список-перечислителя}];
Пример :
перечисление месяц {январь, февраль, март};
(или)
enum month { янв = 1, февраль, март };
3.