|
안녕하세요
배열의 크기는 메모리의 크기에 영향을 가장 크게 받을 것 같습니다.
어디에 선언을 하느냐에 따라서 다른 문제이고요.
전역변수나 Static 으로 array[i][j][k] 를 선언하셨을 경우에는,
Data segment 라는 부분으로 메모리에 올라갈 것이고, 이 것은 또한 컴퓨터마다 다르게 됩니다.
(지나치게 크다면 개발 컴퓨터에서 돌아가더라도 배포된 컴퓨터에서 동작이 안될 수 있습니다)
함수 내에서 array[i][j][k] 이런식으로 선언을 하신 경우에는,
Stack 으로 들어가고요, 이 것은 Project -> Option -> Linker 에서 설정하신
Max Stack Size와 연관이 있을 것이라고 생각됩니다.
(스택의 크기 또한 한정되므로, 위와 같은 문제를 유발할 수 있습니다)
***array 이런식으로 선언을 하시고, malloc 이나 new 로 생성을 한 경우에는
Heap 공간으로 할당이 되는데, 힙의 최대 크기는 2GB 입니다. 따라서 많은 메모리를
할당을 원하실 경우에는 Heap 으로 동적 생성을 하시는 것이 가장 바람직 하실것 같습니다.
cuperido
만두 님이 쓰신 글 :
: 삼차원 배열을 만들려고 하는데
:
: array의 최대 크기는 얼마가 될까요?
:
: array[i][j][k] 라는 3차원 행렬을 만드는데, 얼마나 큰 행렬을 만들 수 있는지 궁금해서요
|