Stack less than 1 minute read Stack 선입 후출인 자료구조(LIFO - Last In First Out) 특징 특정 사이즈의 배열을 정해놓는다. 커서의 위치처럼 top이라는 변수를 둔다. top의 초기 값은 보통 -1이다. push 값 넣기 : top ++ pop 값 빼기 : top – 배열 출력하기 포인터, 배열은 어느 위치(주소)를 가리키고 있는가가 중요 스택 사용 예 참고 블로그 코드 ```c #include <stdio.h> #define STACK_SIZE 5 int stack[STACK_SIZE]; int top = -1; void push(int num) { if (top >= STACK_SIZE - 1) { printf("overflow\n"); return; } else { top = top + 1; printf("top = %d\n", top); stack[top] = num; } } int pop() { if (top <= -1) { printf("underflow\n"); return -1; } else { printf("꺼낸 값 : %d\n", stack[top]); top--; } return 0; } void printStack(int* array) { printf("------\n"); for (int i = 0; i <= top; i++) { printf("%d\n", array[i]); } printf("------\n"); } int main() { //printf("숫자를 입력해주세요 : "); //scanf_s("%d", &insertNUM); //push(insertNUM); push(10); push(20); push(30); push(40); push(50); push(60); // overflow int pop_count = 6; // 6번째 underflow for (int i = 0; i < pop_count; i++) { pop(); } printStack(stack); return 0; } ``` Go to top Share on Twitter Facebook LinkedIn Previous Next Leave a comment
STM32 UART Interrupt less than 1 minute read 원하는 바이트 크기보다 더 큰 것을 받았을 경우 내가 처음에 보낸 것은 가 붙어있어서 일정 크기만큼 잘린 후 버퍼에 남은 것 때문에 먹통이 되어버린 것이다.
Leave a comment