Учебники

D Программирование — Типы данных

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

Типы в D можно классифицировать следующим образом:

Sr.No. Типы и описание
1

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

Они являются арифметическими типами и состоят из трех типов: (а) целое число, (б) с плавающей точкой и (в) символ.

2

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

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

3

Тип пустоты

Спецификатор типа void указывает, что значение недоступно.

4

Производные типы

Они включают (a) типы указателей, (b) типы массивов, (c) типы структур, (d) типы объединений и (e) типы функций.

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

Они являются арифметическими типами и состоят из трех типов: (а) целое число, (б) с плавающей точкой и (в) символ.

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

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

Тип пустоты

Спецификатор типа void указывает, что значение недоступно.

Производные типы

Они включают (a) типы указателей, (b) типы массивов, (c) типы структур, (d) типы объединений и (e) типы функций.

Типы массивов и типы структур совместно называются агрегатными типами. Тип функции указывает тип возвращаемого значения функции. Мы увидим основные типы в следующем разделе, тогда как другие типы будут рассмотрены в следующих главах.

Целочисленные типы

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

Тип Размер хранилища Диапазон значений
BOOL 1 байт ложь или правда
байт 1 байт От -128 до 127
UBYTE 1 байт От 0 до 255
ИНТ 4 байта От -2 147 483 648 до 2 147 483 647
UINT 4 байта От 0 до 4 294 967 295
короткая 2 байта От -32 768 до 32 767
USHORT 2 байта От 0 до 65 535
долго 8 байт От -9223372036854775808 до 9223372036854775807
ULONG 8 байт От 0 до 18446744073709551615

Чтобы получить точный размер типа или переменной, вы можете использовать оператор sizeof . Тип выражения . (Sizeof) возвращает размер хранилища объекта или типа в байтах. Следующий пример получает размер типа int на любой машине —

Live Demo

import std.stdio; 
 
int main() { 
   writeln("Length in bytes: ", ulong.sizeof); 

   return 0; 
}

Когда вы компилируете и запускаете вышеуказанную программу, она дает следующий результат —

Length in bytes: 8 

Типы с плавающей точкой

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

Тип Размер хранилища Диапазон значений Цель
поплавок 4 байта 1.17549e-38 до 3.40282e + 38 6 десятичных знаков
двойной 8 байт 2,22507e-308 до 1,77969e + 308 15 десятичных знаков
реальный 10 байт 3.3621e-4932 до 1.18973e + 4932 либо самый большой тип с плавающей запятой, поддерживаемый аппаратным обеспечением, либо double; смотря что больше
ifloat 4 байта 1.17549e-38i до 3.40282e + 38i мнимое значение типа float
idouble 8 байт От 2,22507e-308i до 1,77969e + 308i мнимый тип значения double
я реальный 10 байт 3.3621e-4932 до 1.18973e + 4932 мнимый тип значения реального
cfloat 8 байт 1.17549e-38 + 1.17549e-38i до 3.40282e + 38 + 3.40282e + 38i тип комплексного числа из двух поплавков
cdouble 16 байт 2.22507e-308 + 2.22507e-308i до 1.79769e + 308 + 1.79769e + 308i тип комплексного числа из двух двойных
Creal 20 байт 3.3621e-4932 + 3.3621e-4932i до 1.18973e + 4932 + 1.18973e + 4932i тип комплексного числа из двух вещественных чисел

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

Live Demo

import std.stdio;

int main() { 
   writeln("Length in bytes: ", float.sizeof); 

   return 0; 
}

Когда вы компилируете и запускаете вышеупомянутую программу, она дает следующий результат в Linux:

Length in bytes: 4

Типы персонажей

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

Тип Размер хранилища Цель
голец 1 байт Кодовый блок UTF-8
WCHAR 2 байта Кодовый блок UTF-16
dchar 4 байта Кодовая единица UTF-32 и кодовая точка Unicode

В следующем примере печатается область памяти, занимаемая типом char.

Live Demo

import std.stdio;

int main() {
   writeln("Length in bytes: ", char.sizeof);
   
   return 0;
}

Когда вы компилируете и запускаете вышеуказанную программу, она дает следующий результат —

Length in bytes: 1

Тип пустоты

Тип void указывает, что значение недоступно. Он используется в двух видах ситуаций —

Sr.No. Типы и описание
1

Функция возвращается как void

В D есть различные функции, которые не возвращают значение, или вы можете сказать, что они возвращают void. Функция без возвращаемого значения имеет тип возврата как void. Например, void exit (int status);

2

Аргументы функции как void

В D есть различные функции, которые не принимают никаких параметров. Функция без параметра может быть принята как пустая. Например, int rand (void);

Функция возвращается как void

В D есть различные функции, которые не возвращают значение, или вы можете сказать, что они возвращают void. Функция без возвращаемого значения имеет тип возврата как void. Например, void exit (int status);

Аргументы функции как void

В D есть различные функции, которые не принимают никаких параметров. Функция без параметра может быть принята как пустая. Например, int rand (void);

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