본문 바로가기

C언어

17. 스트림과 데이터의 전송

1) 입 · 출력에 대한 이해

실행중인 프로그램이 데이터를 받아들이는 것을 입력이라 함. scanf와 같은 함수를 입력함수라 한다.
실행중이 프로그램에서 데이터를 보내는 것을 출력이라함. printf와 같은 함수를 출력함수라 한다.

2) 입 · 출력이 가능한 이유는 어디에

- 스트림이 있어 가능한 입 · 출력

구현한 프로그램과 모니터는 연결되어 있는 개체가 아닌, 완전히 동떨어져 있는 두 개의 서로 다른 개체이다. 따라서 프로그램성에서 모니터로 데이터를 전송해 주기 위해서는 이 둘을 연결해 주는 '다리'가 필요하다.

이러한 다리 역할을 하는 것을 스트림이라 한다.

                                                                입력과 출력 스트림

이러한 스트림은 운영체제에 의해서 만들어지는 가상적인 다리이다.

3) 스트림의 생성과 소멸

파일 입 · 출력과 콘솔(키보드와 모니터) 입 · 출력 사이에는 차이점이 있다.
파일과의 연결을 의미하는 스트림 생성에는 우리가 직접 관여 해야 하지만
콘솔과의 연결을 의미하는 스트림은 프로그램 실행 시 자동적으로 생성 된다.

정리하면
콘솔(키보드와 모니터) 입 · 출력을 위한 스트림은 프로그램 실행 시 자동적으로 생성 되고, 프로그램 종료 시 자동으로 소멸된다. 즉, 기본적으로 생성되는 스트림이다.
이를 표준 스트림(standard stream) 혹은 표준 입 · 출력 스트림 이라 한다.

그러므로 표준 스트림이라는 용어가 나오면 모니터와 키보드에 데이터를 입력 및 출력하는 '다리'라고 이해하면 되겠다.

'C언어' 카테고리의 다른 글

19. 문자열 단위 입 · 출력 함수  (0) 2011.01.01
18. 문자 입 · 출력 함수  (0) 2010.12.31
16. 함수포인터  (0) 2010.12.31
15. 포인터와 const 키워드  (0) 2010.12.25
14. scanf 함수 호출 시 &를 붙이는 이유  (0) 2010.12.25