
arrayinit.c:1:12: Initializer block for x has 4 elements, but declared as int
                     [3]: 1, 2, 3, 4
arrayinit.c:2:12: Initializer block for a has 2 elements, but declared as int
                     [3]: 1, 2
arrayinit.c:3:16: Initializer block for aa has 2 elements, but declared as int
                     [3][3]: { 1, 2, 3 }, { 4, 5 }
arrayinit.c:4:18: Initializer block for aa[1] has 2 elements, but declared as
                     int [3]: 4, 5
arrayinit.c:10:15: String literal with 4 characters is assigned to char [3] (no
                      room for null terminator): "abc"
arrayinit.c:11:15: String literal with 5 characters (counting null terminator)
    is assigned to char [3] (insufficient storage available): "abcd"
arrayinit.c:14:40: String literal with 4 characters is assigned to char [3] (no
                      room for null terminator): "def"
arrayinit.c:14:47: String literal with 6 characters (counting null terminator)
    is assigned to char [3] (insufficient storage available): "gasdf"
arrayinit.c:17:22: Initializer block for a3[1] has 3 elements, but declared as
                      int [2]: 3, 4, 5

Finished checking --- 9 code warnings, as expected
