Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 언어에서 버퍼는 무엇을 의미합니까?

<시간/>

임시 저장 영역을 버퍼라고 합니다. 모든 입력 출력(I/O) 장치에는 I/O 버퍼가 있습니다.

필요한 수 이상의 값을 입력으로 전달하려고 하면 나머지 값은 자동으로 입력 버퍼에 유지됩니다. 이 버퍼 데이터는 다음 입력 기능이 있는 경우 자동으로 다음 입력 기능으로 이동합니다.

다음 입력을 받기 전에 버퍼를 지워야 합니다.

예시

다음은 버퍼용 C 프로그램입니다 -

#include<stdio.h>
void main(){
   int a,b;
   printf("\n Enter a value: ");
   scanf("%d",&a);
   printf("\n Enter b value: ");
   scanf("%d",&b);
   printf("\n a+b=%d ",a+b);
   getch();
}

출력

위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -

Enter a value: 1
Enter b value: 2
a+b=3

다시 프로그램을 실행합니다. 이번에는 b가 아닌 a에 값을 입력하려고 합니다.

Enter a value: 1 2 3
Enter b value: a+b=3

b 값을 입력하지 않았더라도 이미 버퍼에 있는 이전에 저장된 값을 사용합니다.

구현에서 표준 입력 버퍼 데이터를 제거해야 하는 경우 flushall() 또는 fflush() 함수로 이동합니다.

  • 플러시() - stdio.h에 존재하는 미리 정의된 기능입니다. flushall을 사용하여 I/O 버퍼에서 데이터를 제거할 수 있습니다.

  • 플러시() − 입력 또는 출력 버퍼 메모리를 지우는 데 사용되는 "stdio.h" 헤더 파일에 미리 정의된 함수입니다.

  • 플러시(stdin) - 입력 버퍼 메모리를 비울 때 사용합니다. scanf 문을 작성하기 전에 사용하는 것을 권장합니다.

  • 플러시(stdout) - 출력 버퍼 메모리를 비울 때 사용합니다. printf 문 앞에 사용하는 것을 권장합니다.