데이터를 컴퓨터 내부로 받아들이는 것을 입력, 외부로 전송하는 것을 출력이라고 표현한다. 사용자는 입력장치 (마우스, 키보드 등)를 통해 컴퓨터 내부로 데이터를 입력할 수 있으며, 이런 데이터를 가공하여 출력장치(모니터, 스피커, 프린터 등)로 결과물을 확인할 수 있다. 여기서 입력과 출력의 이동 경로 흐름을 스트림(Stream)이라 표현한다.
C언어에서는 세 가지 표준 스트림을 제공한다. 이 세 가지 스트림은 모두 프로그램 시작과 동시에 자동으로 형성되고 프로그램 종료 시 자동으로 소멸된다. 이 외의 스트림(파일 입/출력 스트림 등) 은 프로그래머가 직접 형성하도록 지시해야 한다. 스트림이라 불리는 이유는 물의 흐름처럼 한 방향으로만 이동하기 때문이다.
stdin
(Standard Input)표준 입력 스트림. 사용자의 입력을 받는다. 일반적으로 키보드로부터의 입력을 의미한다.
stdout
(Standard Output)표준 출력 스트림. 프로그램의 출력을 보여준다. 일반적으로 모니터에 출력된다.
stderr
(Standard Error)표준 에러 스트림. 프로그램의 오류 메시지를 출력한다. 일반적으로 모니터에 출력된다.
. . .