자료형(Data Type)이란 변수의 종류를 의미.
변수에 값을 담기 이전에 정수, 실수, 문자 문자열 등 어떤 값들을 지닐 수 있는지 자료형을 미리 정해주어야 한다.
자료형 / 명칭 | 크기 | 값의 표현 범위 |
---|---|---|
정수형 / char | 1바이트 | -128이상 +127이하 |
정수형 / short | 2바이트 | -32,768이상 +32,767이하 |
정수형 / int | 4바이트 | -2,147,483,648이상 +2,147,483,647이하 |
정수형 / long | 4바이트 | -2,147,483,648이상 +2,147,483,647이하 |
정수형 / long long | 8바이트 | -9,223,372,036,854,755,808이상 +9,223,372,036,854,755,808이하 |
실수형 / float | 4바이트 | ±3.4 ×10^-37이상 ± 3.4 × 10^38이하 |
실수형 / double | 8바이트 | ±1.7 ×10^-307이상 ± 3.4 × 10^308이하 |
실수형 / long double | 8바이트 이상 | double 이상의 표현 범위 |
구분 | 명칭 | 설명 |
---|---|---|
부호가 있는 변수 | signed | 기본(default) 형식 |
부호가 없는 변수 | unsigned | 음수를 표현할 수 없고, 양수 값의 표현범위가 두배 정도 늘어남 |
char은 정수와 문자를 표시할 때에 사용되며, short, int, long, long long는 정수, 즉 숫자를 나타낼 때 사용된다. 각각의 차이점은 "좀 더 크거나 작은 숫자를 표시할 수 있다"
정수형의 경우 signed(부호 있는 변수), unsigned(부호 없는 변수) 로 나뉘는데,signed의 경우에는 음수와 양수 둘 다 표현이 가능하며, unsigned의 경우에는 양수만을 표현할 수 있는 대신 범위가 약 2배 정도 늘어난다.
예를들면,
shorts(signed short)의 경우에는 표현 범위가 -32,768 ~ 32,767까지지만,
unsigned short의 경우에는 음수를 제외하고 0 ~ 65,535까지 표현이 가능
float, double, long double순으로 좀 더 큰 숫자, 많은 소수점을 나타낼 수 있으며, 정수형과 달리 unsigned가 존재하지 않는다.
자료형 | 형식 지정자 | 설명 | 예시 |
---|---|---|---|
int | %d | 부호 있는 10진 정수 | 5 |
unsigned int | %u | 부호 없는 10진 정수(0~4,294,967,295) | 5 |
float, double | %f | 부호 있는 10진 실수 | 5.52 |
char | %c | 단일 문자 및 부호 있는 10진 정수 ( -128~127 ) | g |
unsigned char | %hhu | 부호 없는 10진 정수 (0~255) | 5 |
char | %s | 문자열 | fred |
#include <stdio.h>
int main()
{
int a;
int b;
a = 50;
b = 100;
printf("a 의 값은 %d 입니다 b 의 값은 %d 입니다.", a, b);
return 0;
}
a 의 값은 50 입니다 b 의 값은 100 입니다.
#include <stdio.h>
int main()
{
float a = 1.345f;
double b = 1.346;
printf("a 는 %.3f 입니다.\n", a);
printf("b 는 %.2f 입니다.\n", b);
return 0;
}
a 는 1.345 입니다.
b 는 1.35 입니다.