11057번 - 오르막 수
배열을 선언할 때 값을 입력해주지 않아도 0으로 자동으로 초기화 되지 않나요??
위에 것 처럼 0으로 초기화를 명시적으로 해주면 답이 맞고 밑에 것처럼 0으로 명시적으로 초기화 해주지 않으면 답이 틀리네요.
그래서 한번 0으로 명시적으로 초기화 해줬을 때랑 안해줬을 때 cout으로 다 찍어보니까 모두 0으로 들어가 있는데.. 왜 이런 일이 발생할까요??
전역변수는 0으로 초기화되지만 지역변수는 자동으로 초기화되지 않습니다
흠 그런데 제가 main함수 안에서 실험해봤을 때 둘 다 0으로 초기화가 되던데 무슨 차이일까요?
명시적으로 초기화 하지 않으면 특정 값까지는 위의 값 결과가 똑같이 나오다가 그 이후에는 다른 값으로 갈라지네요
초기화되지 않은 변수에 접근하는 것은 undefined behavior로 정해진 규칙없이 컴퓨터 맘대로 동작합니다. 물론 0이 나올때도 있습니다
아하 정해진 규칙이 없군요 감사합니다
댓글을 작성하려면 로그인해야 합니다.
sky21kr 3년 전
배열을 선언할 때 값을 입력해주지 않아도 0으로 자동으로 초기화 되지 않나요??
위에 것 처럼 0으로 초기화를 명시적으로 해주면 답이 맞고 밑에 것처럼 0으로 명시적으로 초기화 해주지 않으면 답이 틀리네요.
그래서 한번 0으로 명시적으로 초기화 해줬을 때랑 안해줬을 때 cout으로 다 찍어보니까 모두 0으로 들어가 있는데.. 왜 이런 일이 발생할까요??