c
-
포인터(Pointer) 기본 정리Programming/C,C++ 2012. 10. 28. 10:52
오늘은 C 언어의 꽃, Pointer에 대해서 정리해 보려고 합니다. C언어를 처음 접하는 유저이면 한번은 거쳐야할 관문이며, 저 역시 배울때 어려움을 겪었습니다. 지금와서 공부해보면 별거 아닌거 같지만, 아직도 포인터는 헷갈리기는 마찬가지입니다. 다만, 한가지 조언을 하자면 포인터는 그림을 그려보면 쉽습니다! 1. 포인터의 개념 : 포인터는 메모리 주소값을 저장하는 변수를 말합니다. 즉, 변수들의 물리적 주소를 저장합니다. 2. 포인터 선언 및 연산 int *ptr_arr = NULL; 자료형 : int*연산자 : *변수 이름 : ptr_arr 여기서 잠깐!포인터는 항상 NULL로 초기화 합니다. 포인터 변수는 메모리 주소에 직접 접근하기 때문에 프로그램의 안정성 차원에서 NULL로 값을 초기화 시켜주..
-
배열로 구현한 StackProgramming/C,C++ 2012. 10. 27. 19:48
오늘은 배열로 구현한 Stack을 포스팅 하려고 합니다. Stack : 자료를 한 방향으로만 쌓는 구조입니다. 앞에서 배운 리스트는 양방향으로 자료를 집어 넣고 , 뺄 수 있었지만 스택은 오직 한방향에서만 가능합니다. 스택에서는 오직 맨 위에다가만 자료를 추가할 수 있습니다. 이를 Push라고 합니다. 또한, 스택에서 자료를 꺼내는 것을 Pop라고 합니다.(현재 top에 있는 자료를 꺼내오겠죠!)그래서 스택은 다른말로 LIFO(Last - In - First - Out) 맨 마지막에 들어와서 마지막 원소가 가장 먼저 나가는 특성을 지닙니다. 기본적으로 배열로 구현한 Stack에서는 크기를 지정해줘야 합니다. 배열로 구현한 스택의 단점은 크기를 미리 지정하고, 그 지정한 크기가 넘어가면 Overflow가 ..