38.8 심사문제: 지뢰찾기 - 질문
, 강 승훈님이 작성문제를 풀기는 했는데 다른 분들의 코드와 다른 부분들이 있어서 질문드립니다.
char **matrix = malloc(sizeof(char *) * m);
for (int i = 0; i < m; i++)
{
matrix[i] = malloc(sizeof(char) * (n + 1));
}
------------------------------------------------------------------------------------------
matrix[i] = malloc(sizeof(char) * n + 1);로 풀이하신 분들이 있는데 문자열 마지막에 널값이 들어갈 공간을 마련할려면 진한 코드가 맞지 않나요? 둘이 무엇이 다른지 궁금합니다.
회신: 38.8 심사문제: 지뢰찾기 - 질문
, 도장_ 관리자님이 작성malloc(필요한공간 + 1)이 맞습니다.
char는 1바이트이므로 sizeof(char) * n + 1과 sizeof(char) * (n + 1)의 결과가 같지만, 우연의 일치일 뿐입니다.