초기화가 제대로 되지 않아 이 문제를 1시간 넘게 보았다ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ
int arr[50];
fill(arr, arr+50, 5);
arr의 시작주소부터 50을 더한 주소까지 0으로 초기화
1차원 배열과 동일하다.
두번째 parameter는 포함되지 않는 주소를 넣는다는 것을 잊으면 안된다.
int arr[50][50]
일때 초기화는
fill(arr[0], arr[50], 0)
이다. arr[0]은 arr의 시작주소이다. 그리고 arr[50]은 arr[49][49]까지의 주소를 포함하고 있다.
처음에 제출한 코드에서 49를 50까지만 바꾸어도 맞았을건데..ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ눈물
int arr[10][10][10]
이라는 배열이 존재할 때, 처음에 fill(arr[0], arr[10], 0)으로 2차원처럼 똑같이 해주면 되는거 아닌가...싶었는데 응 아니다. 3차원 배열은
fill(arr[0][0], arr[10][0], 0)
혹은
fill((int *)arr, (int *)(arr + 10), 0)
이런 식으로 해야 한다.