기본적으로 아래 코드에서 2 차원 배열을 초기화하는 함수가 있습니다. main 함수에서 배열의 크기가 다른 함수를 테스트하려고합니다. 그러나 다음과 같은 오류가 발생합니다. "오류 : 배열 형식에 불완전 요소 유형이 있습니다. void 체스 보드 (문자 보드 [] [], int 길이, int 너비)"및 "오류 : 형식 매개 변수 1 형식이 불완전합니다". 체스 보드 (보드 1, 길이 1, 너비 1) ;. 어떤 제안?2 차원 배열 형식 오류
#include <stdio.h>
#include <stdlib.h>
void chessBoard(char board[][], int length, int width)
{
for (int i = 0; i < length; i++)
{
for (int j = 0; j < width; j++)
if ((i + j) % 2 == 0)
board[i][j] = 'b';
else
board[i][j] = 'w';
}
}
int main()
{
char board1 [3][4];
int length1 = sizeof board1/sizeof board1[0];
int width1 = sizeof board1[0]/sizeof(int);
chessBoard(board1, length1, width1);
int i, j;
for(i = 0; i < length1; i++)
{
for(j = 0; j < width1; j++)
printf("%c", board1[i][j]);
printf("\n");
}
printf("\n");
}
'무효 체스 (숯 보드 [] [], INT 길이 INT 폭)'-> '무효 체스 (INT 폭 숯 보드 [] [폭] INT 길이)''를 sizeof (int)'->'sizeof (char)' – BLUEPIXY
함수 인자에 배열이있는 것은 실제로 배열이 아니라 * 포인터 *라는 것입니다. int arr []과 같은 인수를 선언하더라도 컴파일러는이를 'int * arr'으로 처리합니다. –