在C中获取多维数组的错误

und*_*all -1 c arrays

所以,我决定做一个小的ASCII艺术游戏,然而,当我宣布这个板时,我得到的错误是"数组类型有不完整的元素类型".有关如何解决此问题的任何想法?

    #include <stdio.h>
#include <stdlib.h>
#include <string.h>

int height = 10;
int width = 12;
char board[][] =            {{'-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'},
                             {'-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'},
                             {'-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'},
                             {'-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'},
                             {'-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'},
                             {'-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'},
                             {'-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'},
                             {'-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'},
                             {'-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'},
                             {'-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-'}};

void printBoard(void) {
    int i, j;
    for (i = 0; i < height; i++) {
        for (j = 0; j < width; j++) {
            printf("%c", board[i][j]);
        }
    }
}

int main(void) {
    printBoard();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

P.P*_*.P. 5

只有最外层的尺寸可以不指定.

将数组定义更改为:

char board[][12] =  { ...};
Run Code Online (Sandbox Code Playgroud)

如果您使用3D数组,则同样适用:

char board3D[][12][12] =  { ...}; // OK
char board3D[][][12] =  { ...}; // Not OK
char board3D[][][] =  { ...}; // Not OK
Run Code Online (Sandbox Code Playgroud)