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
- 메모리 누수
- 프로그래밍 기초
- Three(Two) Tone Shading
- working set
- Specular
- OculusMotionVectorPass
- 게임 수학
- Windows Build
- Cell Shader
- Cartoon Rendering
- 벡터
- AppSW
- Toon Shader
- Private Bytes
- URP로 변경
- 작업 집합
- 3d
- VR
- Virtual Byte
- ASW(Application SpaceWarp)
- 가상 바이트
- Rim Light
- 개인 바이트
- ColorGradingLutPass
- C언어
- Cell Look
- URP
Archives
- Today
- Total
WinCNT
C 언어 - 03. 기본 입출력 본문
scanf()로 입력해보기
#define _CRT_SECURE_NO_WARNINGS //취약 함수인 scanf를 쓰기 위한 명시적인 정의(VS 한정)
#include <stdio.h>
int main(void)
{
int a;
printf("숫자를 입력해 주세요.\n");
//scanf는 가장 기초적인 입력 함수이며 취약한 함수
//VS에서 바로 사용할 수 없게 되어 있음
scanf("%d", &a);
printf("입력한 숫자는 %d입니다.\n", a);
system("pause");
return 0;
}
scanf()에서 &를 사용하는 이유
- &(Ampersand, 앰퍼샌드)는 특정 변수의 주소를 의미한다.
- 실제로 컴퓨터는 특정한 메모리 주소에 접근하여 데이터를 수정하므로 &를 사용하는 것
- 그렇다면 메모리 주소에 얼마만큼의 크기로 데이터를 쓸 지 결정해야 하는데
그 때 사용하는 것이 형식 지정자이다.
- 그렇다면 메모리 주소에 얼마만큼의 크기로 데이터를 쓸 지 결정해야 하는데
double형 데이터는 왜 입출력 시의 형식 지정자가 다를까?
입력을 받을 때는 특정 주소에 특정 크기만큼 입력을 수행해야 하지만(%lf),
출력을 할 때에는 주소가 아닌 값 자체를 이용해 출력하므로 구체적인 크기 지정이 필요 없다(%f).
형식 지정자의 응용
형식 지정자의 앞에 숫자를 추가함으로써 입출력 시의 자릿수를 지정할 수 있다.
예) scanf("%1d%1d%1d", &a, &b, &c);
⇒ 입력 받은 정수를 한 자리씩 끊어서 변수 a, b, c에 넣는 처리
'Study > C' 카테고리의 다른 글
C 언어 - 06. 반복문 (0) | 2021.08.02 |
---|---|
C 언어 - 05. 조건문 (0) | 2021.08.01 |
C 언어 - 04. 연산자 (0) | 2021.08.01 |
C 언어 - 02. 변수와 상수 (0) | 2021.07.29 |
C 언어 - 01. 프로그래밍 (0) | 2021.07.29 |