1학년 대학 수업/C++ 프로그래밍

[C++ 프로그래밍 1 주차] C/C++ 문법 차이

hawon6691 2025. 9. 4. 16:08
728x90

📊 세 코드의 비교표

코드 번호 사용 언어 출력 방식 주요 차이점

C printf() C의 표준 입출력 함수 사용
C++ std::cout C++의 출력 방식 사용, std:: 명시
C++ cout using namespace std;로 std:: 생략

🔍 자세한 설명

✅ ① C 코드

#include <stdio.h>

int main() {
	printf("Hello World\n");
	return 0;
}
  • 언어: C
  • 출력 함수: printf()는 포맷 문자열을 사용해 출력 (\n은 줄바꿈)
  • 헤더 파일: <stdio.h>는 C의 표준 입출력 라이브러리
  • 특징: 포맷 제어가 강력하지만 객체지향 기능은 없음

✅ ② C++ 코드 (std::cout 사용)

#include <iostream>

int main() {
	std::cout << "Hello World" << std::endl;
	return 0;
}
  • 언어: C++
  • 출력 함수: std::cout은 C++의 출력 스트림 객체
  • 헤더 파일: <iostream>은 C++의 입출력 라이브러리
  • std:: 사용 이유: cout은 std라는 이름공간(namespace)에 속해 있어서 명시적으로 써야 함
  • std::endl: 줄바꿈 + 출력 버퍼 비우기

✅ ③ C++ 코드 (using namespace std; 사용)

#include <iostream>
using namespace std;

int main() {
	cout << "Hello World" << endl;
	return 0;
}
  • 언어: C++
  • 출력 함수: cout 사용 (앞에 std:: 생략 가능)
  • using namespace std;: std 이름공간을 전역으로 사용하겠다는 선언
  • 장점: 코드가 간결해짐
  • 주의점: 큰 프로젝트에서는 이름 충돌 위험이 있어 std::를 명시하는 게 더 안전함

💡 요약하면...

  • ①은 C 스타일, ②와 ③은 C++ 스타일
  • C++에서는 객체지향적인 입출력 방식(cout)을 사용하고, 이름공간 개념이 추가됨
  • using namespace std;는 편리하지만, 무분별하게 쓰면 코드 관리가 어려워질 수 있어
728x90