궤도

[CS] 전역 배열은 Data 영역에 저장될까 Heap 영역에 저장될까? (아닐 수도 있음) 본문

💻 현생/📋 스터디

[CS] 전역 배열은 Data 영역에 저장될까 Heap 영역에 저장될까? (아닐 수도 있음)

영이오 2021. 10. 28. 00:07

그냥 지금 공부하다가 갑자기 이런 생각이 들었다.

Data 영억은 전역, 정적 변수가 들어가고

Stack 영역은 함수의 매개변수, 지역변수가 들어가고

Heap 영역은 동적으로 할당되는 변수가 들어간다...

 

그래서 보통 배열은 그 참조 주소가 스택에 있고 정보가 힙에 있는 상태라고 배웠는데

그럼 전역 배열이라면 어떻게 되는거지?

 

https://stackoverflow.com/questions/23384174/are-global-arrays-allocated-on-the-stack

 

Are global arrays allocated on the stack

Obviously all local arrays (not dynamically allocated) are on the stack, but are global ones located on the stack as well? Other types of global variable are on the heap but I got the hint that ar...

stackoverflow.com

데이터라네..?

근데 확신은 아니고 believe 한단다

 

https://stackoverflow.com/questions/56668557/where-are-arrays-stored-in-memory

 

Where are arrays stored in memory?

I know that the global variable is stored in memory, and the local variable is saved in the stack, and the stack will be destroyed after each use. But I do not know how an array is saved in memory...

stackoverflow.com

여긴 꽤 확신을 하는구만

 

뭔가 찝찝하다. 전역에서 선언하고 함수에서 크기를 할당할 수도 있지 않나??

그럼...동적으로 할당된거 아닌가...

 

https://hidemasa.tistory.com/37

 

[프로그래밍언어] Memory Allocation Area(code,data,stack,heap)->Segment

Memory allocation process 에 따라 RAM은 4가지 area로 구성됩니다. Local variable or stack Free memory or Heap Static and global variables Code Area 지역 변수는 스택에 저장됩니다. code area는 C progr..

hidemasa.tistory.com

초기화되지 않은 전역 변수는 Data 영역 안에 bss라는 곳에 저장된다고 한다.

음 그러면...데이터 영역이 맞나

 

여전히 검색을 하고 있으나 의문이 완벽하게 풀리지 않았다.

Comments