sky21kr   3년 전

배열을 선언할 때 값을 입력해주지 않아도 0으로 자동으로 초기화 되지 않나요??

위에 것 처럼 0으로 초기화를 명시적으로 해주면 답이 맞고 밑에 것처럼 0으로 명시적으로 초기화 해주지 않으면 답이 틀리네요.

그래서 한번 0으로 명시적으로 초기화 해줬을 때랑 안해줬을 때 cout으로 다 찍어보니까 모두 0으로 들어가 있는데.. 왜 이런 일이 발생할까요??

3587jjh   3년 전

전역변수는 0으로 초기화되지만 지역변수는 자동으로 초기화되지 않습니다

sky21kr   3년 전

흠 그런데 제가 main함수 안에서 실험해봤을 때 둘 다 0으로 초기화가 되던데 무슨 차이일까요?

명시적으로 초기화 하지 않으면 특정 값까지는 위의 값 결과가 똑같이 나오다가 그 이후에는 다른 값으로 갈라지네요

3587jjh   3년 전

초기화되지 않은 변수에 접근하는 것은 undefined behavior로 정해진 규칙없이 컴퓨터 맘대로 동작합니다. 물론 0이 나올때도 있습니다

sky21kr   3년 전

아하 정해진 규칙이 없군요 감사합니다

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