변수 메모리 최대치가 정해져 있나요?
도1도캣
2023.04.01
-
가온누리
컴파일은 되는데 실행도중 응답없음으로 바뀌네요
-
BabySue
한번에 너무 많은 양은 동적할당으로도 할당할 수 없습니다.
예를들어 애초에 램이 1GB 꽂혀있는데 어떻게 10GB의 변수를 할당할 수 있을까요? -
설화
음... 메가바이트 단위입니다.
-
꽃초롱
4*1000*1000 = 4,000,000 바이트. 3기가가 훌쩍 넘는 크기네요.
물리적인 메모리 크기에 따라 다르겠지만, 보통 이정도 크기를 메모리에 할당하기 힘들죠. -
참
둘 다 0으로 초기화하는 것은 맞습니다. 지금 문제는 배열의 크기입니다.
-
서향
int a[1000][1000]={0};
int a[1000][1000]={0,}; 이렇게 하면 안되나요? -
갅쥐누뉨
로컬 변수는 스택이란 영역에 만들어지는데요. 이 스택은 뒤에서부터 앞으로 채워가는 방식이라 크기에 제한이 있습니다. 컴파일러 옵션을 바꾸어서 스택의 크기를 바꿀 수는 있습니다만 큰 메모리를 다룰 때는 동적할당을 하는 것이 좋습니다. malloc와 free를 검색해보세요.
-
가자
최대치 정해져잇어요
-
가온
인트형은 65535바이트까지 자세한건 LIMIT.H침조
-
해샘찬
네