Learning D - Data Structures
Everything in D is centered around the idea of data. Your process data from the user or files and you produce your own data from that. This could be a game creating images based upon a player's movement, a web server getting input from a web browser and sending files over the internet, or it could even be a media player reading a song and playing it back to the user.
Understanding data structures will help you to know what you need to accomplish your goals and what data structures you can put together to do that.
Numeric Data Structures
name | explanation |
byte | signed 8 bits |
ubyte | unsigned 8 bits |
short | signed 16 bits |
ushort | unsigned 16 bits |
int | signed 32 bits |
uint | unsigned 32 bits |
long | signed 64 bits |
ulong | unsigned 64 bits |
cent | signed 128 bits (reserved for future use) |
ucent | unsigned 128 bits (reserved for future use) |
float | 32 bit floating point |
double | 64 bit floating point |
real | largest hardware implemented floating point size (Implementation Note: 80 bits for Intel CPUs) |
ifloat | imaginary float |
idouble | imaginary double |
ireal | imaginary real |
cfloat | a complex number of two float values |
cdouble | complex double |
creal | complex real |
Textual Data Structures
char | character |
wchar | wide character |
dchar | D character |
(dchar/wchar/char)[] | string |
Collection Data Structures
[] | Array |
[ void ] | Associative Array |
N/A | Tuple |
Boolean Data
bool | boolean value |
Structs
Structs are Custom Data Structures
Classes
Classes are Custom Data Structures
Pointers and Void Type Data Structures
* | the address of the data structure |
void | no type needed, it could be any data structure |
Functions
Functions are Unique