스택
후입선출(가장 늦게 넣은 데이터가 가장 빨리 나가는 것)
객체들의 집합소, 데이터를 기록하는 구조
비어있는 스택에서 원소 추출하려하면 stact underflow
스택 넘치는데 스택 추가하려고 하면 stack over
큐
집합에서 가장 오랜 시간 존재했던 원소를 삭제
선입선출( 가장 먼저 넣은 데이터가 가장 빨리 나간다)
프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드(load)되어야함.
프로그램에서 사용되는 변수들을 저장할 메모리도 필요하다.
프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 4가지
1. 코드code 영역->실행할 프로그램의 코드저장되는 영역,cpu가 여기서 명령어 가져가서 처리함
2. 데이터data 영역->프로그램의 전역변수와 정적 변수가 저장되는 영역, 프로그램 시작과 함께 할당되고 종료되면 소멸
3. 스택stack 영역->함수의 호출과 관계되는 지역변수와 매개변수가 저장되는 곳,함수호출시 할당되고 종료시 소멸
4. 힙heap 영역->사용자가 직접 관리할 수 있는,그래야하는 메모리 영역,사용자에 의해 메모리공간이 동적할당되고 해제됨. 메모리의 낮은 주소에서 높은 주소의 방향으로 할당됨.
--수업때 얘기는 밑에--

스택은 컴파일러가 돌기 전 단계.
힙은 구동된 다음에 메모리 반환 해제가 됨
스택 영역에 메모리 선언하면 해제도 못함
함수내부는 stack
헤더파일은 heap
선언할 때 함수에 많이 하면 터진다..스택이라서..
헤더에 해라..
출처
https://hwan1402.tistory.com/110
스택(Stack)과 힙(Heap) 차이점
메모리 구조 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드(load)되어야 합니다. 또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요합니다. 따라서 컴퓨터의 운영체제
hwan1402.tistory.com
'웹 공부' 카테고리의 다른 글
aws 비용청구 환불은 받았지만 찜찜..(탄력적 IP,사용하지 않는 인스턴스) (3) | 2021.12.05 |
---|---|
링크드리스트 linkedlist 이해한 부분 적어보기 (0) | 2021.12.01 |
템플릿 (C++) template 함수,클래스 차이점 (0) | 2021.11.30 |
C++ 객체지향프로그램 cout 입력출력 (0) | 2021.11.29 |
객체지향 절차지향 (0) | 2021.11.29 |