Simple Array Question
Johan Granberg
lijat.meREM at OVEgmail.com
Fri Jun 1 13:15:06 PDT 2007
Silv3r wrote:
> When using multi-dimensional arrays I easily get confused as to the order
> of the notation. But why does args[i][] equal args[][i] (code below)? I
> assume args[i][] is the more correct version as only args[i][0] gives the
> correct results?
>
> -Silv3r
>
> -----------------------------------------------------------------------
> import std.stdio;
>
> void main(char[][] args)
> {
> writefln("args.length = %d\n", args.length);
> for (int i = 0; i < args.length; i++)
> {
> if(args[i][] == args[][i]) // why does args[i][] equal args[][i]?
> writefln("Why does this work? [%d] = '%s'", i, args[i][]);
> writefln("<%s>,<%s>", args[i][0],args[0][i]);
> }
> }
> -----------------------------------------------------------------------
ok, first args[] is the same as writing only args as a slice of an entire
dynamic array is itself.
second think of the array brackets as a stack
(char[])[] args
so args is an array (of char arrays)
if you take an element of that you eliminate the outer brackets
char[] a=args[0];
hope this helps and if I misunderstood the question I'm sorry.
More information about the Digitalmars-d-learn
mailing list