Введение в программирование

       

Типы данных языка C++


Тип данных определяет размер памяти, выделяемой под переменную данного типа при ее создании.

C++ поддерживает следующие типы данных:

  • базовые типы. Базовые типы указываются зарезервированными ключевыми словами, и их не надо определять.
  • производные типы. Переменные этих типов создаются как с использованием базовых типов, так и типов классов. Это структуры, объединения, указатели, массивы.
  • типы класса. Экземпляры этих типов называются объектами.

Базовые типы языка C++ можно подразделить на две группы: целочисленные и вещественные. Существует еще ключевое слово void, которое используется для описания типа подпрограмм, не имеющих возвращаемого значения, или при указании параметров подпрограмм неизвестного типа.

char

signed char

Символьный тип. Диапазон значений от -128 до 127.

Содержит один символ или строку символов. Каждый символ представляется одним байтом. Компилятор различает как отдельные следующие типы: char, signed char и unsigned char.

unsigned char

Символьный тип. Диапазон значений от 0 до 255.

Каждый символ представляется одним байтом (значение в диапазоне от 0 до 255).

short

signed short

Целый тип. Диапазон значений от -32768 до 32767.

Сокращенное обозначение типа short int. Длина этого типа вне зависимости от используемого компилятора всегда больше или равна длине значения типа char и меньше или равна длине значения типа int.

unsigned shortБеззнаковый целый тип. Диапазон значений от 0 до 65535.

int



signed int

Целый тип. Диапазон значений от -2147483648 до 2147483647.

Длина этого типа вне зависимости от используемого компилятора всегда больше или равна длине значения типа short int.

В общем случае размер типа int языка C++ зависит от конкретной реализации.

unsigned intБеззнаковый целый тип. Диапазон значений от 0 до 4294967295.
__intnЦелый тип, размер в битах которого определяется значением n, и может быть равным 8, 16, 32 или 64 битам.

long

signed long

Целый тип. Диапазон значений от -2147483648 до 2147483647.

Сокращенное обозначение типа long int.

unsigned longБеззнаковый целый тип. Диапазон значений от 0 до 4294967259
floatТип данных с плавающей точкой. Диапазон значений от 3.4Е-38 до 3.4Е+38.
double

Тип данных с плавающей точкой двойной точности. Диапазон значений от 1.7Е-308 до 1.7Е+308.

Длина типа double вне зависимости от используемого компилятора всегда больше или равна длине типа float и короче или равна длине типа long double.

long double

Тип данных с плавающей точкой двойной точности, длина которого равна длине значений типа double.

Типы double и long double имеют одинаковое представление, но компилятор трактует их как различные типы.

<
Размер памяти, выделяемой под каждый тип данных языка C\C++, в некотором смысле зависит от используемой платформы и компилятора. Однако все компиляторы гарантируют, что для типа short памяти всегда выделяется меньше или столько же, сколько и для типа int, а тип long всегда "длиннее" или равен типу int.

Символьные типы char и unsigned char представляют значение символа, реализуемое одним байтом. Для использования символов в кодировке Unicode язык C++ предоставляет тип wchar_t, в котором под каждый символ отводятся два байта.

Ключевое слово typedef языка C++ позволяет объявить новое имя существующего типа.

Например:

typedef int my_integer; my_integer i1=0;

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

Символьным литералом или символьной константой называется символ, заключенный в одинарные кавычки. Целые литералы представляют целочисленные константы в десятичном, восьмеричном или шестнадцатеричном виде.

Восьмеричные литералы начинаются с символа 0, а шестнадцатеричные - с символов 0x.

После литерала может быть указан суффикс, определяющий его тип: U - unsigned int, L - long int.

Например:

00 // Восьмеричное значение, равное 0 oxffff // Шестнадцатеричное значение, // равное 65535 10L // Значение типа long int

При записи шестнадцатеричных литералов каждый знак может принимать значение от 0 до 15. Для записи значений от 10 до 15 принято использовать следующие символы: a - 10, b - 11, c - 12, d - 13, e - 14 и f - 15.

Литералы с плавающей точкой могут записываться в двух формах: вещественной и экспоненциальной.

Например:

1.53 32.24e-12 // Экспоненциальная форма записи литерала

Литералы с плавающей точкой могут использоваться для инициализации значений переменных вещественного типа (float, double или long double).


Содержание раздела