Thread: Declaring Multidimensional Arrays

  1. #1
    Registered User
    Join Date
    Nov 2010
    Posts
    1

    Declaring Multidimensional Arrays

    Hello, please could you tell me where I'm going wrong with this:

    Code:
    char array[6];
    array[0] = {'A', 'B'};
    array[1] = {'C'};
    array[2] = {'D', 'E', 'F'};
    array[3] = {'G'};
    Thank you
    Rob Briggs

  2. #2
    Registered User
    Join Date
    Sep 2007
    Posts
    1,012
    You've made an array of char. Multidimensional arrays in C are implemented as arrays of arrays, like so:
    Code:
    char array[6][10];
    Now you have 6 arrays, each of which is an array of 10 char. You can't assign to arrays, either, so you'd have to do something like:
    Code:
    strcpy(array[0], "AB");
    This isn't exactly like your example since strcpy() creates a string by adding a null character; you could assign to each element:
    Code:
    array[0][0] = 'A'; array[0][1] = 'B';
    or use memcpy(), etc.

    When dealing with arrays, always be careful not to run off the end of one (strcpy() can't check the buffer size, so it's up to you).

  3. #3
    Registered User
    Join Date
    Aug 2010
    Posts
    231
    There is no way to do this as you. You can try:
    Code:
    char array[][3]={ {'A', 'B'},{'C'},{'D', 'E', 'F'},{'G'} };

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. jagged arrays with multidimensional array
    By kenryuakuma in forum C# Programming
    Replies: 2
    Last Post: 11-07-2009, 07:07 AM
  2. Multidimensional Arrays in a function prototype
    By Enanito01478 in forum C Programming
    Replies: 2
    Last Post: 10-11-2009, 01:10 AM
  3. Multidimensional arrays
    By Niels_M in forum C Programming
    Replies: 51
    Last Post: 09-12-2009, 03:16 PM
  4. Multidimensional Arrays
    By jordanguyoflove in forum C Programming
    Replies: 4
    Last Post: 10-16-2008, 06:16 PM
  5. Pointers to Multidimensional Arrays
    By kidburla in forum C Programming
    Replies: 10
    Last Post: 10-29-2005, 10:45 PM