В языке программирования 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 на любой машине —
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 | тип комплексного числа из двух вещественных чисел |
В следующем примере печатается место для хранения, занятое типом с плавающей запятой, и его значениями диапазона.
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.
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);
В настоящее время тип пустоты может быть вам не понят, поэтому давайте продолжим, и мы рассмотрим эти концепции в следующих главах.