Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++에서 printf()와 cout의 차이점 완벽 비교


printf()란?

printf()는 주로 C 언어에서 사용되는 출력 함수입니다. 표준 출력(standard out)으로 형식화된 데이터를 출력하며, 콘솔에 내용을 출력할 때 서식 지정자(format specifier)를 함께 사용합니다. 함수의 반환값은 정수형이며, 입력 매개변수에 대한 타입 안전성(type safety)을 보장하지 않는다는 특징이 있습니다. 물론 C++에서도 사용할 수 있습니다.

다음은 C와 C++에서 printf()의 기본 문법입니다.

printf("문자열과 서식 지정자", 변수명);

각 구성 요소는 다음과 같습니다.

  • 문자열(String) – 콘솔에 출력할 텍스트나 메시지

  • 서식 지정자(Format Specifier) – 변수의 자료형에 맞게 %d, %s 등을 사용

  • 변수명(variable_name) – 선언된 변수의 이름

다음은 C 언어에서 printf()를 사용한 예제입니다.

예제 코드

#include<stdio.h>
int main() {
   int a = 24;
   printf("Welcome! \n");
   printf("The value of a : %d",a);
   getchar();
   return 0;
}

실행 결과

Welcome!
The value of a : 24

cout이란?

cout은 C++ 전용 출력 방식으로, <iostream> 헤더에 정의된 객체입니다. 마찬가지로 콘솔에 내용을 출력하지만, 서식 지정자 없이 << 삽입 연산자를 사용한다는 점이 큰 차이입니다. 반환값이 없으며, 입력 매개변수에 대해 타입 안전성을 보장합니다. 컴파일러가 변수의 자료형을 자동으로 판단하기 때문에 서식 지정자를 잘못 작성해 발생하는 오류를 예방할 수 있습니다.

다음은 C++에서 cout의 기본 문법입니다.

cout << "문자열" << 변수명 << endl;

각 구성 요소는 다음과 같습니다.

  • 문자열(string) – 콘솔에 출력할 텍스트나 메시지

  • 변수명(variable_name) – 선언 시 지정한 변수의 이름

다음은 C++에서 coutprintf()를 함께 사용한 예제입니다.

예제 코드

#include <iostream>
using namespace std;
int main() {
   int a = 28;

   cout<< "The value of a : " << a;
   printf("\nThe value of a : %d", a);
   
   return 0;
}

실행 결과

The value of a : 28
The value of a : 28

printf()와 cout 핵심 차이 정리

구분printf()cout
사용 언어C (C++에서도 가능)C++ 전용
서식 지정자필요 (%d, %s 등)불필요 (<< 연산자 사용)
타입 안전성없음있음
반환값정수형 반환반환값 없음