맨날 까먹어서 인터넷 뒤지길래 정리함
1. 자료형 정리
정수형 | char | 1바이트 | -128 이상 +127 이하 |
unsigned char | 0 이상 (128+127) 이하 | ||
short | 2바이트 | -32,768 이상 +32,767 이하 | |
unsigned short | 0 이상 (32,768+32,767) 이하 | ||
int | 4바이트 | -2,147,483,648 이상 +2,147,483,647 이하 | |
unsigned int | 0 이상 (2,147,483,648+2,147,483,647) 이하 | ||
long | 4바이트 | -2,147,483,648 이상 +2,147,483,647 이하 | |
unsigned long | 0 이상 (2,147,483,648+2,147,483,647) 이하 | ||
long long | 4바이트 | -9,223,372,036,854,775,808 이상 +9,223,372,036,854,775,807 이하 | |
unsigned long long | 0 이상 (9,223,372,036,854,775,808+9,223,372,036,854,775,807) 이하 | ||
실수형 | float | 4바이트 | ±3.4*10^-37 이상 ±3.4*10^38 이하 |
double | 8바이트 | ±1.7*10^-307 이상 ±1.7*10^308 이하 | |
long double | 8바이트 이상 | double 이상의 표현 범위 |
2. 자료형에 해당하는 접미사를 붙이면 상수의 자료형이 바뀐다
→ 상수의 자료형을 바꾸면 다양한 자료형을 편히 사용할 수 있다. (대소문자 구별x)
접미사 | 자료형 | 예시 |
U | unsigned int | unsigned int n = 1025U |
L | long | long n = 2467L |
UL | unsigned long | unsigned long n = 12345UL |
LL | long long | long long n = 5678LL |
ULL | unsigned long long | unsigned long long n = 8979ULL |
F | float | float f = 3.15F |
L | long double | long double = 5.6789L |
3. printf 포맷
서식문자 | 자료형 | 출력 형태 |
%d | char, int | 부호 있는 10진수 정수 |
%hd | short | 부호 있는 10진수 정수 |
%ld | long | 부호 있는 10진수 정수 |
%lld | long long | 부호 있는 10진수 정수 |
%u | unsigned int | 부호 없는 10진수 정수 |
%o | unsigned int | 부호 없는 8진수 정수 |
%x, %X | unsigned int | 부호 없는 16진수 정수 |
%f | float, double | 10진수 방식의 부동소수점 실수 |
%Lf | long double | 10진수 방식의 부동소수점 실수 |
%e, %E | float, double | e, E 방식의 부동소수점 실수 |
%g, %G | float, double | 값에 따라 %f와 %e 사이에서 선택 |
%c | char, short, int | 값에 대응하는 문자 |
%s | char * | 문자열 |
%p | void * | 포인터의 주소 값 |
4. scanf 포맷
서식문자 | 자료형 | 입력 형태 |
%d | char, int | 부호 있는 10진수 정수 |
%hd | short | 부호 있는 10진수 정수 |
%ld | long | 부호 있는 10진수 정수 |
%lld | long long | 부호 있는 10진수 정수 |
%u | unsigned int | 부호 없는 10진수 정수 |
%o | unsigned int | 부호 없는 8진수 정수 |
%x, %X | unsigned int | 부호 없는 16진수 정수 |
%f, %e, %g | float | 10진수 방식의 부동소수점 실수 |
%lf | double | 10진수 방식의 부동소수점 실수 |
%Lf | long double | 10진수 방식의 부동소수점 실수 |
출처 : 윤성우 열혈 C 프로그래밍 + 자체적으로 수정
'기초공부 > C' 카테고리의 다른 글
[C]상수형태의 문자열을 매개변수로 전달할 때 (0) | 2019.06.27 |
---|---|
[C]문자열의 길이를 체크할 땐 strlen 함수를 사용하자 (0) | 2019.06.27 |
[C]상수 형태의 문자열 (0) | 2019.06.27 |
[C]printf %c, %s 서식의 차이점 (0) | 2019.06.27 |