본문 바로가기

전체 글252

fflush(stdin) 컴퓨터에는 표준 입출력 장치 및 표준 에러 출력 장치가 있다.시스템 내부적으로 연결 경로가 있는데, 보통 stdin, stdout, stderr(전문용어로 FILE STREAM INDENTITY)이 있다. stdin은 외부로부터 컴퓨터쪽으로 입력을 받는 표준장치(keyboard)의 버퍼의 식별자로 보면된다.stdout은 컴퓨터 내부의 처리 결과를 출력해주는 표준 출력장치(모니터)로 보면 된다.stderr은 시스템이 다운되었어도 다운된 사유에 대해서 컴퓨터 내부 주변 환경에 영향을 받지않고 화면에 메시지를 전송할 수 있는 표준 에러처리라고 보면된다. stdin에 대해, 말하자면,보통 키보드에서 컴퓨터 응용프로그램으로 데이터가 입력을 받을 때, 중간 버퍼를 통해 이루어지는데, scanf는 엔터키가 들어올 때.. 2006. 5. 2.
<img src="http://blogimgs.naver.com/nblog/ico_scrap01.gif" class="i_scrap" width="50" height="15" alt="본문스크랩" /> (데이터구조) 스택과 큐 스택(Stack) • 삽입과 삭제가 한쪽 끝에서만 발생하는 선형 리스트 • top(stack pointer) 포인터 : 자료의 삽입과 삭제가 발행하는 부분 → top 포인터는 항상 제일 위에 있는 자료를 가리킴 • BOTTOM(밑바닥) 포인터 : 막혀있는 다른 한쪽 끝 • PUSH :자료를 삽입하는 연산, POP : 자료를 삭제하는 연산, TOP 연산 : 현재top 포인터가 가리키는 자료의 내용을 조사하는 연산 • 자료의 삽입: top 포인터가 가리키는 위치보다 1이 증가한 위치에 → top = top + 1 • 자료의 삭제: top 포인터가 가리키는 위치의 자료가 → top = top - 1 • top의 초기치는 -1이다 스택의 구조 • 입출력 정책(policy): 후입 선출 방식인 LIFO(Last .. 2006. 4. 22.
큐(queue) 큐의 정의 큐는 앞뒤가 뚫린 긴 통. 입력과 출구가 다르다. 뒤에서 뭔가를 집어 넣고 앞에서 그것을 빼낸다. 먼저 들어온 것이 먼저 나온다. ->> FIFO (First IN First OUT) 구현 방법: 배열을 이용하는 방법, 연결 리스트를 이용하는 방법 조작 방법: put동작, get동작 - put 동작 : 자료를 집어 넣는 동작 - 뒤(rear)에서 - get 동작 : 자료를 얻는 동작 - 앞(front)에서 배열을 이용한 큐의 구현 1. 자료를 저장하기 위한 배열2. 앞과 뒤를 가리키는 변수 #define MAX 10 int queue[MAX]; int front, rear; 3. put 연산과 get 연산 int put(int k) { rear가 한계를 넘었는지 검사, 넘었다면 오버플로우 처리.. 2006. 4. 21.
이중 연결 리스트를 이용한 텍스트 뷰어 이중 연결 리스트 사용텍스트 파일에서 한 문장을 읽어 들여 이중 연결 리스트에 저장한다. fgets() 사용텍스트 파일의 한 문장이라는 것은 C처럼 NULL 로 끝나는 문자열이 아니라 CR+LF(캐리지 리턴과 라인 피드) 문자에 의해 끝이 나는 단위를 말한다. C에서는 이러한 구조의 파일을 한 문장씩 잘라서 읽게 해주는 fgets()라는 편리한 함수가 있기 때문에 이것을 이용한다. conio,h에 선언된 함수들을 사용뷰어에서 문자 출력 함수는 속도가 빨라야 하고, 속성도 조절해야 하고, 커서의 위치도 옮겨 다녀야 한다. 그래서 stdio.h의 문자 출력 함수 보다는 일단은 빠르고 PC의 텍스트 화면 제어에 필요한 거의 모든 함수들이 구비되어 있다. 하지만, conio.h의 함수들도 비디오 메모리를 직접 .. 2006. 4. 18.