C언어 2
[자료구조] c언어 구조체로 스택 구현하기
스택(Stack)이란? 스택은 데이터를 후입선출(LIFO:Last-In First-Out)하는 자료구조로, 가장 최근에 들어온 데이터가 가장 먼저 나간다는 특징이 있다. 상자나 책을 쌓아놓은 더미를 생각하면 이해하기 쉬울 것이다. 이번 글에서는 스택을 배열 구조체를 이용해서 구현해 볼 것이다. 스택 타입 구조체 정의 및 초기화 함수 #include #define SIZE 100 typedef int element; // 배열안에 들어오는 값의 타입을 element로 한번에 지정 typedef struct { element data[SIZE]; int top; // Index 번호 } StackType; // 초기화 void init(StackType *S) { S -> top = -1; // 포인터 연산..
cs/자료구조 | 2022. 10. 26. 15:50
[c언어] 배열, 포인터 간단 정리
pointer 포인터를 선언할 때도 *를 사용하고 역참조를 할 때도 *를 사용한다. 같은 * 기호를 사용해서 헷갈릴수 있지만 선언과 사용을 구분해서 생각하면 된다. 즉, 포인터를 선언할 때 *는 이 변수가 포인터다라고 알려주는 역할이고, 포인터에 사용할 때 *는 포인터의 메모리 주소를 역참조하겠다라는 뜻. int *numPtr; // 포인터. 포인터를 선언할 때 * printf("%d\\n", *numPtr); // 역참조. 포인터에 사용할 때 * int num; int *numPtr; *numPtr = # (x) numPtr = # (o) *numPtr = num; (o) // *numPtr은 int형, numPtr은 포인터형(int형 포인터) // num 은 int형, &num은 주소형..
cs/c언어 | 2022. 9. 22. 13:30