회신: 38.7 단위행렬만들기에 대한 질문입니다.
, 도장_ 관리자님이 작성화면 캡처로 문의한 코드가 아닌 심사를 시도한 마지막 코드를 기준으로 설명합니다.(화면 캡처의 코드도 동일 증상)
malloc 함수로 할당하는 메모리 공간이 오염되고 있습니다. 즉, Heap Corruption(힙 오염)이 발생합니다. 원인은 memset 함수입니다. int *이 가리키는 공간은 int가 저장되는 곳이므로 int로 초기화해야 합니다.
memset(matrix[i], 0, sizeof(int *) * n);
이 부분을 다음과 같이 수정합니다.
memset(matrix[i], 0, sizeof(int) * n);