4-1. Stack
생성일: 2021년 10월 1일 오후 6:01
Stack
- Logical (ADT) level : Stack은 ordered group of homogeneous items.
- LIFO : "Last in, First out"
- 가장 나중에 들어온 것이 가장 먼저 나가야한다.
Stack 구현
부가설명
int add(int x, int y) //여기서 int x와 int y는 formal parameter 이다.
{
...
return result;
}
int total = add(1,2); //여기서 1과 2는 actual parameter 이다.
- template을 사용 할 때는 한파일에 .h와 .cpp (선언과 정의)를 두어야한다. (아니면 linking error발생)
- 컴파일 과정
- .cpp ➡️ 전처리 ➡️ .obj ➡️ Link ➡️ .exe 실행
동적할당
char* ptr;
ptr = new char;
*ptr = 'B';
std::cout << *ptr; //'B' 출력
delete ptr;
int add(int x, int y) //여기서 int x와 int y는 formal parameter 이다.
{
...
return result;
}
int total = add(1,2); //여기서 1과 2는 actual parameter 이다.
- .cpp ➡️ 전처리 ➡️ .obj ➡️ Link ➡️ .exe 실행
char* ptr;
ptr = new char;
*ptr = 'B';
std::cout << *ptr; //'B' 출력
delete ptr;
*ptr = 'B'; 실행 후
이 때 'B' 를 가르키는 변수 이름이 없다. ⇒ anonymous variable
delete ptr; 실행 후
동적할당된 Array를 지울 때 주의할 점
int* p = new int[10];
delete p;
이런식으로 delete 하면 Array의 첫 번째 요소만 지워짐
따라서,
delete[] p;
이렇게 지워야 동적 할당된 해당 Array를 전체를 지울 수 있다.
Author And Source
이 문제에 관하여(4-1. Stack), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@lsj8706/4-1.-Stack저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)