Re: 38.8 심사문제: 지뢰찾기
, 도장_ 관리자님이 작성char가 1바이트라서 그렇습니다. 1칸에 1문자만 저장됩니다.
memset으로 초기화하지 않으면 쓰레기 값이 들어가 있습니다.
다만, 명확하게 코드에서 100바이트를 할당하고 100바이트를 쓰는 게 확실하다면 memset으로 초기화하지 않아도 문제가 되지 않을 수 있습니다.
100바이트 중에 60바이트만 쓰고 40바이트를 쓰지 않는 경우가 발생한다면 40바이트에는 쓰레기 값이 들어가게 됩니다. 이런 경우에는 문제가 될 수 있습니다.
초기화를 하지 않았을 때 문제가 될 수도 있고, 안 될 수도 있게 됩니다. 가능하면 초기화를 반드시 하는 게 좋습니다.
수많은 소프트웨어 버그는 안일한 가정을 하는 데서 발생합니다. 방어적인 코드를 작성하는 게 좋습니다.