On 01/18/2016 07:20 PM, albert00 wrote:

> It's strange since I was declaring int[1][2] (1 row / 2 columns) and
> then accessing as:
>
>      arr2[0][0] = 1;
>      arr2[1][0] = 2;
>
> Seems like 2 rows and 1 column. This makes sense?

Yes, it makes sense and its consistent. This is one of many little things that D is an improvement over C and C++.

Static array type syntax is always the following:

    Type[length]

For example, the following is a row with two columns:

    int[2]

When you want a certain number of those, you follow the same array definition syntax:

    Type[length]

Since each element is int[2] in this case, for 3 rows we get:

    int[2][3]

So, in order to get 1 row of 2 columns, you would write

    int[2][1]

Accessing elements is consistent as well:

    var[index]

So,

    arr2[0]

would be the first row, which has two columns; which is further accessed by another index:

    arr2[0][1]

is first row, second column.

Ali

Reply via email to