1. Home >
  2. Apps >
  3. Groups >

Initializing a 2-D character array

Question asked by aashima in #Coffee Room on Jan 20, 2009
aashima 路 Jan 20, 2009
Rank B3 - LEADER
While writing a code, i was incorporating 2 dimensional array but it just wouldn't work.

The code was:

char acUsername[3][2]={"john",john1","smith","smith2","dennis","dennis3"};

Any idea where I went wrong? Posted in: #Coffee Room
MaRo 路 Jan 20, 2009
Rank B2 - LEADER
You may've better to post the actual error, but anyway...

- You've to put '*' next to char 'char*', because you're iniatlizing an array of arrays, every string in your array is actually an array of chars.

- try to complete the brackets - char* acUsername[3][2]={{"john","john1"}, {"smith","smith2"},{"dennis","dennis3 "}};

- Remember - acUsername[row][column]
silverscorpion 路 Jan 21, 2009
Rank A3 - PRO
char acUsername[3][2]={"john",john1","smith","smith2","dennis","dennis3 "};
I think this is a 3D array and not a 2D array. If a char array is of dimension [3][2], then it canhold a total of 6 characters only. For your array, you have to initialize it as [3][2][6]. That should solve the problem. Or if you want to work with pointers, what MaRo said is also absolutely correct. You can initialize it as a char pointer pointing to a char array.
aashima 路 Jan 22, 2009
Rank B3 - LEADER
Yeah, I figured out that it wasn't actually a 2D array that I was trying to implement. I have taken two separate 2D arrays and they are working fine.
Thanks to both of you. 馃榾
ProgramCrazy 路 Feb 3, 2009
I know your problem is solved but this could be another way.
Your array is a two dimensional array but you have not given the size properly.
Look at the following statement.This works....

char acUsername[6][7]={"john",john1","smith","smith2","dennis","dennis3 "};

You must log-in or sign-up to reply to this post.

Click to Log-In or Sign-Up