inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

문제로 배우는 C언어

1차원 배열 , 2차원 배열 질문이요!

해결된 질문

441

dmsgkrkt1

작성한 질문수 6

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이 들어가서 나옵니다.

제가 알고 있는 개념이 잘못된 건가요?

c

답변 2

1

김태원

main()함수 위에 전역변수로 배열을 선언하면 0으로 초기화됩니다. 하지만 main()함수 안에서 지역변수로 선언된 배열은 컴파일러에 따라 0으로 초기화될 수도 있고, -858993460과 같은 의미없는 값으로 초기화되기도 합니다.

지역변수를 모두 0으로 초기화하고 싶으면 변수를 선언할 때 int a[3]={0, }; 으로 하면 됩니다. 

0

dmsgkrkt1

감사합니다!

음료수 자판기 출력이 이상하게 나옵니다

0

142

2

i 값 초기화 질문

0

70

2

recipe for targe 'AA.exe' failed

0

63

1

30과 10의 xor

0

191

1

커리큘럼 문의 드립니다

0

232

1

for문에서 sum 관련 질문

0

179

1

이렇게 풀어도 맞는걸까요?

0

253

2

이렇게 풀어도 맞는 풀이일까요?

0

302

1

20페이지 홀,짝,제로 문제에서 이 코드로 짜도 괜찮을까요?

0

257

1

24. 최솟값 구하기

0

333

1

질문 있습니다.

0

325

1

배열을 전역변수로 설정하는 이유

1

666

1

41. A를 #으로에서 질문 있습니다.

0

291

1

20번 소수 판별하기에서 질문 있습니다.

0

423

1

42번 bus error;;;

0

612

1

정수형 배열에서 배열 크기

0

395

1

38. 자리찾기 커지는 방향으로..

0

303

1

37. 배열의 회전에서 ...

0

280

1

1차원 배열에서

0

270

1

지수연산에서

0

300

1

7.연필 개수 문제

0

381

1

a=(int)a 에서 왜 괄호를 붙이나요 a=int a 는 왜안되나요

0

847

1

섹션 6. 소수

0

323

1

왜 2중for문을 두개 쓴건가요?

0

243

1