-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
해결됨
1차원 배열 , 2차원 배열 질문이요!
20.04.08 22:02 작성 조회수 264
0
1차원 배열에서
int a[3] ;
printf("%d"\n, a[0]);
return 0;
이 결과값이 0가 나와야 되는거 아닌가요?
int a[3][2];
printf("%d"\n, a[0]a[1]);
return 0;
이 결과 값도 0가 나와야 되는거 아닌가요?
계속 -858993460 이런식으로 나오는데 ..
배열선언하고 인덱스 안에 아무것도 안넣으면 0로 되어있는걸로 알고있는데
44번문제에서 선생님의 답도 그대로 실행시켜보니 0대신 -858993460이 들어가서 나옵니다.
제가 알고 있는 개념이 잘못된 건가요?
답변을 작성해보세요.
1
김태원
지식공유자2020.04.09
main()함수 위에 전역변수로 배열을 선언하면 0으로 초기화됩니다. 하지만 main()함수 안에서 지역변수로 선언된 배열은 컴파일러에 따라 0으로 초기화될 수도 있고, -858993460과 같은 의미없는 값으로 초기화되기도 합니다.
지역변수를 모두 0으로 초기화하고 싶으면 변수를 선언할 때 int a[3]={0, }; 으로 하면 됩니다.
0
답변 2