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++에서 cout과 printf()를 함께 사용한 예제입니다.
예제 코드
#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 등) | 불필요 (<< 연산자 사용) |
| 타입 안전성 | 없음 | 있음 |
| 반환값 | 정수형 반환 | 반환값 없음 |