# Arrays

Ranch Hand
Posts: 664
This is a quesetion from Whizlabs.

(I even doubt if even one of the options is correct!)

Which code initializes the two-dimensional array tab so that tab

[3][2] is a valid element?

int[][] tab= { {0,0,0},{0,0,0}};

A. int tab[][] = { 0,0,0,0
0,0,0,0,
0,0,0,0,
0,0,0,0
};

B. int tab[][]=new tab[4][];
for (int i=0;int[3])

C.int tab[3][2];

D. int[] tab[]={ {0,0,0},{0,0,0},{0,0,0},{0,0,0}}

Can some help me understand Multidemnsional array and how i can see them in a pictorial form.

Like I know arr[3][4] would mean 3 rows and 4 colums, but what about arrays like arr[3][4][5] and how i would initializee them or know that hte initialisation is correct.

vidhya suvarna
Ranch Hand
Posts: 148
i think option B & D are correct..
But didnt get the for statement in option B
i.e for (int i=0;int[3])..

Ranch Hand
Posts: 664
I don't have the right answer and for some reason i also feel that the B statement is incomplete.

Ankit Garg
Sheriff
Posts: 9519
22
only D is correct. B is syntactically wrong. In case of D you are creating a 2-d array in which there is an element that can be referenced as tab[3][2]. Don't be confused with the declaration int[] tab[]. It is the same as int[][] tab or int []tab[].........

vidhya suvarna
Ranch Hand
Posts: 148
Ankit,
is B wrong because we have it as int tab[][]=new tab[4][]; where we are sure of 4 rows and not about how many columns..right?

Greenhorn
Posts: 10
no B is wrong bcause of the incomplete for syntax
it should be for(< initialization >;<boolean expression>;< loop statement > {}