8MB 스택으로 작업해야한다고 가정하고 표준 C++ 배열을 사용하고자합니다.
그것은전역 적으로 정의 된 변수에는 어떤 메모리가 사용됩니까?
const int MX = 10000;
int DP[MX][MX];
int main() {
printf("%likB\n", (sizeof(DP))>>10);
}
이 힙 메모리를 사용하고, (DP
이 main
에 선언 할 때 반대) 세그 폴트하지 않는 이유 것으로, 사실인가요? new
/malloc
을 통해 main
에 메모리를 할당하는 것과 다릅니다 (free
이외의 문제)?
아니요! 그것은 힙이나 스택과 다른 정적 저장소 ("zero initialized data segment", BSS, 또는 당신이 그것을 호출하기를 원하는 것)를 사용합니다. –
@MatsPetersson 동의; 업데이트되었습니다. – trojanfoe
@MatsPetersson Thx. BSS의 존재에 대해 배우는 것이 좋다 ... –