Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- 25.06.11dir
- 프로그래밍일기
- c++class
- 프로그래밍
- bttask
- 자료구조정리
- 각도변환
- DX
- c언어정리
- 영단어정리
- ipc(inter process communication)
- 자료구조
- 자료형타입
- c++porinter
- livrary
- 언리얼엔진공부
- directx
- c++
- c++용어정리
- uaiperception
- 언리얼엔진5
- 수학용어정리
- 게임개발
- leveleditor
- 게임엔진튜토리얼
- 언리얼엔진
- unrealengineai
- 월드아웃라이너
- 언리얼ai
- 언리얼비헤이어비어트리
Archives
- Today
- Total
루리코딩 세상
"scanf" 찾아보기 본문
📌 scanf란?
scanf는 **표준 입력(키보드)**으로부터 값을 받아들이는 함수입니다.
📚 정의: int scanf(const char *format, ...);
📁 포함 헤더: #include <stdio.h>
✅ 1. C언어에서의 사용 (stdio.h)
#include <stdio.h>
int main() {
int age;
printf("나이를 입력하세요: ");
scanf("%d", &age); // 입력받은 값을 age 변수에 저장
printf("당신의 나이는 %d세입니다.\n", age);
return 0;
}
📌 주요 포맷 문자열(format string)
포맷 | 의미 |
%d | 정수 입력 |
%f | 실수 입력 |
%c | 문자 입력 |
%s | 문자열 입력 |
🧠 %d, %f 등 뒤에 오는 변수는 반드시 **주소(&)**를 써야 해요!
✅ 2. C++에서도 사용할 수 있는가? (stdio.h 사용 시)
#include <stdio.h>
int main() {
int number;
scanf("%d", &number);
printf("입력한 숫자: %d\n", number);
return 0;
}
- C++에서도 stdio.h를 포함하면 scanf를 사용할 수 있습니다.
- 하지만 **C++에서는 cin과 cout (iostream 방식)**을 사용하는 것이 권장됩니다.
✅ 3. iostream 방식과의 차이점
항목 | scanf (stdio.h) | cin (iostream) |
언어 스타일 | C 스타일 | C++ 스타일 |
사용 편의성 | 포맷 지정 필요 | 포맷 필요 없음 |
타입 안정성 | 포맷과 타입이 일치해야 함 | 컴파일러가 타입 추론 |
버퍼 제어 | 더 빠름, 유연함 | 상대적으로 느림, 명확함 |
사용 예시 | scanf("%d", &x); | cin >> x; |
📌 C++에서의 예:
#include <iostream>
using namespace std;
int main() {
int number;
cout << "숫자 입력: ";
cin >> number;
cout << "입력한 숫자: " << number << endl;
return 0;
}
✅ 4. 어떤 걸 써야 할까?
상황 | 추천 방식 |
C언어 프로젝트 | scanf (stdio.h) |
C++ 프로젝트 | cin / cout (iostream) |
빠른 입력이 필요한 경우 (e.g. 알고리즘 문제) | scanf도 가능하지만, 보통 C++에서는 ios::sync_with_stdio(false); 사용 |
🧠 정리 요약
질문 | 요약 |
scanf는 어떤 함수인가요? | 표준 입력을 받아오는 C언어의 입력 함수입니다. |
C++에서도 사용할 수 있나요? | #include <stdio.h>로 사용 가능하지만, 보통은 cin을 사용합니다. |
scanf vs cin 차이점은? | scanf는 빠르지만 포맷 지정 필요, cin은 타입 추론이 되어 편리합니다. |
기본적인 C에서도 사용하나요? | 네, scanf는 C언어의 대표적인 입력 함수입니다. |
'이론 > C++' 카테고리의 다른 글
RTTI(RunTime Type Information) - typeinfo (0) | 2025.05.30 |
---|---|
C++ 외부 종속성 : String (0) | 2025.05.28 |
Pointer : * 포인터 연산자 (1) | 2025.05.24 |
스레드(Thread) 정리해보기 (4) | 2025.05.23 |
C++ 람다 함수(Lambda) (0) | 2025.05.22 |