An array in D is a language struct that can contain multiple values that can be of same data type or different types as indicated during declaration.
The declaration of arrays in D is different from languages like python, PHP, and the likes.
Arrays in D can be
These different types of arrays in D language are declared in different fashion and ways.
Once we declare a static array, we can not increase the size along the way.
// import std.stdioimport std.stdio;// main methodvoid main() {// create as static arrayint [3] stats = [70,80,100];//try adding an extra fourth member, it throws an error.//uncomment the line below to see the error.// stats ~= 120;// print the length of the static arraywriteln(stats);}
import
package.main
function.stats
and set its length as 3
.Once we declare a dynamic array, we can keep adding as many values as we wish, thereby increasing the size along the way.
// import std.stdioimport std.stdio;// main methodvoid main() {// create as dynamic arrayint [] carts = [70,80,100];writeln("length before adding new member: ",carts.length);//try adding an extra fourth member, it worked perfectly well.carts ~= 120;// print the length of the dyanmic arraywriteln("length now, after adding new member : ",carts.length);}
Line 2: We make the import
package.
Line 5: We start the main
function.
Line 7: We declare a dynamic array carts
and set its length as 3
.
Line 8: We print the length of the array at first to the screen.
Line 10: We add a new value to our dynamic array.
Line 13: We print the length of the array after a new value is added to screen .
As shown in the code below, associative arrays have keys, integers of our choice that point or serve as indexes to a value. To access these values we can use their key
in place of an index.
// import std.stdioimport std.stdio;// main methodvoid main() {// create as dynamic arrayauto props = [70 :"shoes",80:"shirts", 100 : "electronics"];//try adding an extra fourth member, it worked perfectly well.writeln("Using key 70 to get value : ",props[70]);writeln("Using key 80 to get value : ",props[80]);writeln("Using key 100 to get value : ",props[100]);}
Line 2: We make the import
package.
Line 5: We start the main
function.
Line 7: We declare an associative array props
and set its keys and values.
Line 10, 11, and 12: We print the values of the associative array using its keys to screen .
To create this array, we must have access to the values of another variable. This can be achieved using the dereference operator (*
). We’ll also indicate the value to point, using the ampersand (&
). Below is an example of how it works.
In the code below, the pointer to data
type of array can be seen as an array that holds a pointer to arrays:
// import std.stdioimport std.stdio;// main methodvoid main() {// create an array to be pointedint [] arr = [70,80,100];//point to the new arrayint []* point = &arr;//print the pointer valuewriteln(point);//print arr using the pointerwriteln(point[0]);}
Line 2: We make the import
package.
Line 5: We start the main
function.
Line 7: We declare an array arr
and set its values.
Line 9: We declare a pointer array to hold the pointer values of arr
.
Line 11: We print the pointer value.
Line 13: We display the value of arr
using p
, its pointer array to locate it.
In this shot, we learned by examples how we could easily create each of the different types of arrays in D language.