Macos mac上的EXC_错误访问错误

Macos mac上的EXC_错误访问错误,macos,exc-bad-access,Macos,Exc Bad Access,我正试图在Mac电脑上运行我的代码。它在Windows上总是运行良好我使用的是Microsoft Visual Studio,但当我在in-XCode上运行它时,以下代码有时会因EXC\u BAD\u访问错误而崩溃 board_t* board_initBoard() { board_t* newBoard = (board_t*)malloc(sizeof(board_t)); newBoard->grid = (square_t**)malloc(11 * sizeof

我正试图在Mac电脑上运行我的代码。它在Windows上总是运行良好我使用的是Microsoft Visual Studio,但当我在in-XCode上运行它时,以下代码有时会因EXC\u BAD\u访问错误而崩溃

board_t* board_initBoard() {
    board_t* newBoard = (board_t*)malloc(sizeof(board_t));
    newBoard->grid = (square_t**)malloc(11 * sizeof(square_t));
    for(int i = 0; i < 11; i++)
        newBoard->grid[i] = (square_t*)malloc(11 * sizeof(square_t));
    for(int i = 0; i < 11; i++) {
        for(int j = 0; j < 11; j++) {
            if(i * j * (10 - i) * (10 - j) == 0 && (i + j) % 10 > 2 && (i + j) % 10 < 8)
                newBoard->grid[i][j] = black;
            else if(i * j * (10 - i) * (10 - j) == 225)
                newBoard->grid[i][j] = black;
            else if(i == 5 && j == 5)
                newBoard->grid[i][j] = king;
            else if(i * j * (10 - i) * (10 - j) >= 576)
                newBoard->grid[i][j] = white;
            else if((i == 5 && j * (10 - j) == 21) || (j == 5 && i * (10 - i) == 21))
                newBoard->grid[i][j] = white;
            else if(i * (10 - i) + j * (10 - j) == 0)
                newBoard->grid[i][j] = hostile;
            else
                newBoard->grid[i][j] = empty;
        }
    }
    return newBoard;
}

该错误仅发生约1/3次,且始终发生在第二个for循环中,但发生在随机点。发生这种情况的原因是什么?

什么是平方?您将网格分配为malloc11*sizeofsquare\u t,但它似乎应该是malloc11*sizeofsquare\u t*。添加星号有效。谢谢你,我不知道我怎么会错过那么久。平方t只是一个枚举。