wony6731   4년 전

알고리즘 문제를 풀다가 처음 겪는 일이라 이렇게 질문하게 되었습니다...

정말 간단히 설명드리자면 arr 배열에 값을 넣어 준 다음에

visited 배열을 초기화 해주는 과정을 진행하였습니다.

그런데 초기화를 하고 나면 arr 배열 값이 변경되어 이유를 찾다보니

"arr[0].x"의 주소 값과 "visited[10][0]"의 주소값이 같아 visited배열을 초기화해줄때

arr의 배열 값이 바뀌게 되었습니다. 이건 갑자기 어떠한 이유로 이렇게 된건지 알 수 있을까요.....? ㅜㅜ

eea7965a-3ff1-46aa-b57a-e6e64c343d69

djm03178   4년 전

주소가 겹친 것이 아니고, 연속적인 공간에 할당된 것입니다. 크기가 10인 배열은 인덱스가 0부터 9까지밖에 없는데 10번째 인덱스에 접근했으니 배열의 범위를 벗어났고, 이 위치에 다른 변수가 쓰는 주소가 있었을 뿐입니다.

kcm1700   4년 전

visited[0]부터 visited[9]까지만 유효합니다.

wony6731   4년 전

헐 정말 기초적인 실수하고

이렇게 해맸네요 ㅜㅜ 감사합니다,,,,

댓글을 작성하려면 로그인해야 합니다.