Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,868 questions

51,791 answers

573 users

How to initialize 2D array in 2D array of structs with zeros and multiple numbers at specific indexes in C

1 Answer

0 votes
#include <stdio.h>

typedef struct {
    int arr[4][5];
    char ch;
} ST;

int main(void) {

    static const ST s[2][3] = {{ { {{7}, {0,3}, { [2] = 6,9}, {8}}, 'z' }, 
                                 { {{1, 2}, {4, 9, 6}, { [1] = 4, 5}, {7}}, 'a' }
                              }};
    

    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 3; j++) {
            for (int k = 0; k < 4; k++) {
                for (int l = 0; l < 5; l++) {
                    printf("s[%d][%d].arr[%d][%d] = %d : ", i, j, k, l, s[i][j].arr[k][l]);
                }
                printf("\n");
            }
            printf("s[%d][%d].ch = %c\n\n", i, j, s[i][j].ch);
        }
    }

    return 0;
}





/*
run:

s[0][0].arr[0][0] = 7 : s[0][0].arr[0][1] = 0 : s[0][0].arr[0][2] = 0 : s[0][0].arr[0][3] = 0 : s[0][0].arr[0][4] = 0 :
s[0][0].arr[1][0] = 0 : s[0][0].arr[1][1] = 3 : s[0][0].arr[1][2] = 0 : s[0][0].arr[1][3] = 0 : s[0][0].arr[1][4] = 0 :
s[0][0].arr[2][0] = 0 : s[0][0].arr[2][1] = 0 : s[0][0].arr[2][2] = 6 : s[0][0].arr[2][3] = 9 : s[0][0].arr[2][4] = 0 :
s[0][0].arr[3][0] = 8 : s[0][0].arr[3][1] = 0 : s[0][0].arr[3][2] = 0 : s[0][0].arr[3][3] = 0 : s[0][0].arr[3][4] = 0 :
s[0][0].ch = z

s[0][1].arr[0][0] = 1 : s[0][1].arr[0][1] = 2 : s[0][1].arr[0][2] = 0 : s[0][1].arr[0][3] = 0 : s[0][1].arr[0][4] = 0 :
s[0][1].arr[1][0] = 4 : s[0][1].arr[1][1] = 9 : s[0][1].arr[1][2] = 6 : s[0][1].arr[1][3] = 0 : s[0][1].arr[1][4] = 0 :
s[0][1].arr[2][0] = 0 : s[0][1].arr[2][1] = 4 : s[0][1].arr[2][2] = 5 : s[0][1].arr[2][3] = 0 : s[0][1].arr[2][4] = 0 :
s[0][1].arr[3][0] = 7 : s[0][1].arr[3][1] = 0 : s[0][1].arr[3][2] = 0 : s[0][1].arr[3][3] = 0 : s[0][1].arr[3][4] = 0 :
s[0][1].ch = a

s[0][2].arr[0][0] = 0 : s[0][2].arr[0][1] = 0 : s[0][2].arr[0][2] = 0 : s[0][2].arr[0][3] = 0 : s[0][2].arr[0][4] = 0 :
s[0][2].arr[1][0] = 0 : s[0][2].arr[1][1] = 0 : s[0][2].arr[1][2] = 0 : s[0][2].arr[1][3] = 0 : s[0][2].arr[1][4] = 0 :
s[0][2].arr[2][0] = 0 : s[0][2].arr[2][1] = 0 : s[0][2].arr[2][2] = 0 : s[0][2].arr[2][3] = 0 : s[0][2].arr[2][4] = 0 :
s[0][2].arr[3][0] = 0 : s[0][2].arr[3][1] = 0 : s[0][2].arr[3][2] = 0 : s[0][2].arr[3][3] = 0 : s[0][2].arr[3][4] = 0 :
s[0][2].ch =

s[1][0].arr[0][0] = 0 : s[1][0].arr[0][1] = 0 : s[1][0].arr[0][2] = 0 : s[1][0].arr[0][3] = 0 : s[1][0].arr[0][4] = 0 :
s[1][0].arr[1][0] = 0 : s[1][0].arr[1][1] = 0 : s[1][0].arr[1][2] = 0 : s[1][0].arr[1][3] = 0 : s[1][0].arr[1][4] = 0 :
s[1][0].arr[2][0] = 0 : s[1][0].arr[2][1] = 0 : s[1][0].arr[2][2] = 0 : s[1][0].arr[2][3] = 0 : s[1][0].arr[2][4] = 0 :
s[1][0].arr[3][0] = 0 : s[1][0].arr[3][1] = 0 : s[1][0].arr[3][2] = 0 : s[1][0].arr[3][3] = 0 : s[1][0].arr[3][4] = 0 :
s[1][0].ch =

s[1][1].arr[0][0] = 0 : s[1][1].arr[0][1] = 0 : s[1][1].arr[0][2] = 0 : s[1][1].arr[0][3] = 0 : s[1][1].arr[0][4] = 0 :
s[1][1].arr[1][0] = 0 : s[1][1].arr[1][1] = 0 : s[1][1].arr[1][2] = 0 : s[1][1].arr[1][3] = 0 : s[1][1].arr[1][4] = 0 :
s[1][1].arr[2][0] = 0 : s[1][1].arr[2][1] = 0 : s[1][1].arr[2][2] = 0 : s[1][1].arr[2][3] = 0 : s[1][1].arr[2][4] = 0 :
s[1][1].arr[3][0] = 0 : s[1][1].arr[3][1] = 0 : s[1][1].arr[3][2] = 0 : s[1][1].arr[3][3] = 0 : s[1][1].arr[3][4] = 0 :
s[1][1].ch =

s[1][2].arr[0][0] = 0 : s[1][2].arr[0][1] = 0 : s[1][2].arr[0][2] = 0 : s[1][2].arr[0][3] = 0 : s[1][2].arr[0][4] = 0 :
s[1][2].arr[1][0] = 0 : s[1][2].arr[1][1] = 0 : s[1][2].arr[1][2] = 0 : s[1][2].arr[1][3] = 0 : s[1][2].arr[1][4] = 0 :
s[1][2].arr[2][0] = 0 : s[1][2].arr[2][1] = 0 : s[1][2].arr[2][2] = 0 : s[1][2].arr[2][3] = 0 : s[1][2].arr[2][4] = 0 :
s[1][2].arr[3][0] = 0 : s[1][2].arr[3][1] = 0 : s[1][2].arr[3][2] = 0 : s[1][2].arr[3][3] = 0 : s[1][2].arr[3][4] = 0 :
s[1][2].ch =

*/

 



answered Apr 25, 2023 by avibootz
...