C 언어 - 스트림(Stream)의 개념과 이해

컴퓨터/C

728x90
반응형

스트림(Stream)이란 무엇인가?

Stream의 사전적인 의미는 흐르다, 흐름 등의 뜻으로 쓰입니다. 

컴퓨터는 다양한 하드웨어와 소프트웨어가 합쳐져 있는 형태로 구성되어있습니다. 이런 다양한 장치들끼리 데이터들이 이동하는 흐름의 개념을 스트림이라고 합니다. 

 

사실 스트림의 개념은 이미 사용하고 있다.

스트림의 개념은 명칭이 생소할 뿐이지 이미 스트림의 개념을 적용하여 프로그래밍 연습을 하고 있습니다.

이미 사용하고 있는 2가지의 스트림 개념을 알아보도록 하겠습니다.

  • 표준 입력 스트림 ( 표준 입력) - Standard input
    • 키보드의 입력을 받아 해당 프로그램으로 정보를 전달해 주는 스트림
  • 표준 출력 스트림 (표준 출력) - Standard output
    • 프로그램상에서 처리된 데이터를 모니터로 전달해 주는 스트림

표준 스트림

이런식으로 다양한 장치들과 데이터를 주고받기 위한 통로인 스트림의 개념을 만들기는 쉬운 일이 아닙니다. 그래서 C언어에서는 이런 스트림을 만들어서 제공해 줍니다. 대표적인 표준 스트림은 아래와 같습니다.

  • 표준 입력 (stdin) - 키보드
  • 표준 출력 (stdout) - 모니터
  • 표준 에러 (stderr) - 모니터
  • 표준 프린터 (stdprn) - 프린터
  • 표준 보조 (stdaux) - 직렬포트

C언어에서는 위의 스트림의 개념을 라이브러리화해서 함수의 호출의 형태로 사용할 수 있습니다. 우리가 사용하는 <stdio.h>의 scanf 또는 printf 같은 경우도 표준 입력 , 표준 출력의 스트림의 개념을 함수의 형태로 호출해서 사용하고 있는 것입니다.

 

스트림의 특징 

스트림은 흐르는 통로의 개념이라고 했습니다. 위의 표준 스트림의 종류를 보면 각각의 장치에 따라 스트림의 종류가 다르다는 것을 확인할 수 있습니다. 즉, 프로그래머가 만든 프로그램이 다른 장치들과 데이터를 주고받기 위해서는 이런 스트림의 개념이 적용되어야 한다는 것을 알 수 있습니다. 이 개념을 잘 이해하고 있으면 다른 외부에 데이터를 가져오거나 보낼는 기능을 배우는데 도움이 될 것입니다.

 

728x90
반응형

Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :