Учись программированию на C++ Builder бесплатно!
Классификация типов данных

Классификация типов связана с их разбиением на основные и производные типы. К основным относятся: void, char, int, float и double, а также их варианты с модификаторами short (короткий), long (длинный), signed (со знаком) и unsigned (без знака). Например, unsigned char, unsigned int, signed int (модификатор signed подразумевается по умолчанию и поэтому обычно не указывается).

Все типы, используемые в C++ Builder, можно разбить на четыре группы:

Название Описание
Aggregate структуры данных
Array массивы
struct структуры
union объединения
class классы
Function функции
Scalar скалярные
Arithmetic арифметические
Enumeration перечислимые
Pointer указатели
Reference ссылки
void отсутствие значения

Основные типы в С++

Тип Размер в байтах Диапазон значений
char 1 от -128 до 126
unsigned char 1 от 0 до 255
short 2 от -32 768 до 32 767
unsigned short 2 от 0 до 65 535
enum 2 от -2 147 483 648 до 2 147 483 647
long 4 от -2 147 483 648 до 2 147 483 647
unsigned long 4 от 0 до 4 294 967 295
int 4 от -2 147 483 648 до 2 147 483 647
unsigned int 4 от 0 до 4 294 967 295
float 4 от 3.4*10-38 до 3.4*1038
double 8 от 1.7*10-308 до 1.7*10308
long double 10 от 3.4*10-4932 до 1.1*104932
bool 1 true или false

Имеются также основные типы _int8, _intl6, _int32, _int64.

Следует отметить, что в C++ Builder, в отличие от некоторых других версий С++, булев тип bool реализован как отдельный тип, а не как псевдоним целого. Однако это не мешает при желании использовать в логических выражениях целые значения вместо булевых. При этом значение 0 расценивается как false, а любое ненулевое значение как true.

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

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

Типы данных указываются при объявлении любых переменных и функций. Например:

double а = 5.4, b = 2;
int с;
void F1(double А);

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

Синтаксис объявления типа

typedef определение типа идентификатор;

Здесь идентификатор это вводимое пользователем имя нового типа, а определение типа описание этого типа. Например, оператор:

typedef double At[101];

объявляет тип пользователя с именем Ar как массив из 10 действительных чисел. В дальнейшем на этот тип можно ссылаться при объявлении переменных. Например:

Ar А = (1,2,3,4,5,6,7,8,9,10);

Объявление типа с помощью typedef можно использовать и для создания нового типа, имя которого будет являться псевдонимом стандартного типа С++. Именно так в C++ Builder многие встроенные типы компонентов Object Pascal приведены к типам, характерным для С++. Эти переопределения типов содержатся в файле sysdefs.h. Например:

typedef bool Boolean;
typedef int Integer;
typedef short Smallint;
typedef unsigned char Byte;

 


Поиск по сайту