How initialize a static rectangular array (2-d matrix)
Christopher Wright
dhasenan at gmail.com
Thu Oct 8 19:05:38 PDT 2009
Justin Johansson wrote:
> Jarrett Billingsley Wrote:
>
>> On Thu, Oct 8, 2009 at 8:10 PM, Justin Johansson <no at spam.com> wrote:
>>> I almost have to apologize for this question but ..
>>>
>>> How does one initialize a static rectangular array (2-d matrix) in D1?
>>>
>>> None of the following or other variations that I've tried compile with DMD 1.0.
>>>
>>> int[2, 3] matrix = [ 1, 2, 3, 4, 5, 6 ];
>> ..that's not how you declare a rectangular array type. It's int[3][2].
>>
>> int[3][2] matrix = [[1, 2, 3], [4, 5, 6]];
>
> Thanks Jarrett.
>
> Am I having a blonde day?
>
> int[2,3] m = [ 1, 2, 3 ];
> writefln( "m=%s, .sizeof=%d", m, m.sizeof);
>
> Compiles and prints:
>
> m=[1,2,3], .sizeof=12
>
> So what does that declaration, int[2,3], mean?
>
> Think this is what threw me initially.
>
> Thanks, Justin
2,3 is a comma expression. Evaluate everything, and return the rightmost
value.
More information about the Digitalmars-d-learn
mailing list