자료형과 형식화 출력
C와 C++는 기본 숫자형을 공유하지만 일반적인 formatting 방식이 다릅니다.
자료형과 형식화 출력이란?
C와 C++는 기본 숫자형을 공유하지만 일반적인 formatting 방식이 다릅니다.
정수와 실수를 선언하고 안전하게 출력합니다.
중요한 점
- Compiler warning을 켜고 모두 해결하세요.
- 각 값의 type과 lifetime을 파악하세요.
- 입력과 배열 경계를 검증하세요.
C와 C++ 코드 예제
C
main.c
#include <stdio.h>
int main(void) {
int items = 7;
double price = 3.5;
printf("items=%d total=%.2f\n", items, items * price);
return 0;
}
items=7 total=24.50
C++
main.cpp
#include <iomanip>
#include <iostream>
int main() {
int items = 7;
double price = 3.5;
std::cout << "items=" << items << " total="
<< std::fixed << std::setprecision(2) << items * price << '\n';
}
items=7 total=24.50
C와 C++ 비교
printf의 format specifier는 argument와 맞아야 합니다. C++ stream은 type으로 overload를 선택하고 iomanip로 precision을 제어합니다.
C
C는 작은 절차형 API와 표현 세부 사항을 드러냅니다.
C++
C++는 저수준 모델을 유지하며 더 안전한 타입을 추가합니다.
연습 문제
두 버전을 실행하고 수정하여 각 언어의 보장을 관찰하세요.
- 잘못된 입력과 경계값을 추가하세요.
- -Wall -Wextra -Wpedantic으로 컴파일하세요.
- 선언과 구현을 분리하세요.