C언어 초급 - 3장: 변수와 데이터 타입 (3.2 기본 데이터 타입)
2025. 2. 23. 16:33ㆍ프로그래밍 언어/C
3.2 기본 데이터 타입
C 언어에서 데이터 타입(Data Type)은 변수에 저장할 데이터의 크기와 형식을 결정하는 중요한 요소입니다.
각 데이터 타입은 특정 크기의 메모리를 차지하며, 해당 범위 내의 값만 저장할 수 있습니다.
1. C 언어의 기본 데이터 타입
C 언어에서 자주 사용되는 기본 데이터 타입은 다음과 같습니다.
데이터 타입 | 설명 | 크기 (바이트) | 값의 범위 (32비트 시스템 기준) |
char | 문자 (ASCII 코드) | 1 byte | -128 ~ 127 (signed), 0 ~ 255 (unsigned) |
int | 정수 (기본 데이터 타입) | 4 bytes | -2,147,483,648 ~ 2,147,483,647 |
float | 단정밀도 실수 | 4 bytes | ±3.4E-38 ~ ±3.4E+38 |
double | 배정밀도 실수 (더 정밀한 실수 표현) | 8 bytes | ±1.7E-308 ~ ±1.7E+308 |
📌 참고:
- int의 크기는 컴파일러 및 운영체제에 따라 다를 수 있음 (일반적으로 4바이트)
- float과 double은 소수점 이하 값을 저장할 수 있음
- char는 1바이트 크기의 문자 저장 (ASCII 또는 유니코드 사용 가능)
2. 정수형 데이터 타입 (int)
2.1 int란?
- int(integer)는 정수를 저장하는 데이터 타입입니다.
- 일반적으로 4바이트(32비트) 크기를 가지며, 양수와 음수를 포함할 수 있습니다.
2.2 int 사용 예제
#include <stdio.h>
int main() {
int num1 = 100;
int num2 = -50;
printf("num1: %d\n", num1);
printf("num2: %d\n", num2);
return 0;
}
출력 결과
num1: 100
num2: -50
3. 실수형 데이터 타입 (float, double)
3.1 float란?
- float은 소수점을 포함한 실수를 저장하는 데이터 타입입니다.
- 4바이트 크기를 가지며, 일반적으로 소수점 이하 6~7자리의 정밀도를 가집니다.
3.2 double이란?
- double은 float보다 더 높은 정밀도의 실수를 저장할 수 있는 데이터 타입입니다.
- 8바이트 크기를 가지며, 소수점 이하 15~16자리까지 저장 가능합니다.
3.3 float과 double 비교 예제
#include <stdio.h>
int main() {
float pi_float = 3.141592f;
double pi_double = 3.141592653589793;
printf("float 값: %.6f\n", pi_float);
printf("double 값: %.15lf\n", pi_double);
return 0;
}
출력 결과
float 값: 3.141592
double 값: 3.141592653589793
📌 설명
- %.6f → float의 소수점 6자리까지만 출력
- %.15lf → double의 소수점 15자리까지 출력
💡 주의:
- float 값을 선언할 때 f(예: 3.141592f) 를 붙여야 함.
- double 값을 출력할 때는 %lf를 사용해야 함.
4. 문자형 데이터 타입 (char)
4.1 char란?
- char(Character)는 문자 하나를 저장하는 데이터 타입입니다.
- 크기는 1바이트(8비트)이며, ASCII 코드값(0~255)을 저장할 수 있습니다.
4.2 char 사용 예제
#include <stdio.h>
int main() {
char letter = 'A';
char symbol = '@';
printf("문자: %c\n", letter);
printf("기호: %c\n", symbol);
return 0;
}
출력 결과
문자: A
기호: @
📌 주의 사항
- char 값은 작은따옴표(')로 감싸서 저장해야 함.
char a = 'A'; // 올바른 선언 char b = "B"; // 오류 발생 (큰따옴표 사용 X)
- char는 내부적으로 ASCII 코드 값(정수값)으로 저장됨.
4.3 char의 ASCII 코드 값 확인
#include <stdio.h>
int main() {
char letter = 'A';
printf("문자: %c\n", letter);
printf("ASCII 코드값: %d\n", letter);
return 0;
}
출력 결과
문자: A
ASCII 코드값: 65
📌 설명
- 'A'는 내부적으로 ASCII 코드 65로 저장됨.
5. 데이터 타입 크기 확인 (sizeof)
C 언어에서는 sizeof() 연산자를 사용하여 데이터 타입의 크기를 확인할 수 있습니다.
#include <stdio.h>
int main() {
printf("char 크기: %lu 바이트\n", sizeof(char));
printf("int 크기: %lu 바이트\n", sizeof(int));
printf("float 크기: %lu 바이트\n", sizeof(float));
printf("double 크기: %lu 바이트\n", sizeof(double));
return 0;
}
출력 결과 (운영체제 및 컴파일러에 따라 다를 수 있음)
char 크기: 1 바이트
int 크기: 4 바이트
float 크기: 4 바이트
double 크기: 8 바이트
📌 설명
- sizeof(자료형) → 해당 자료형의 크기를 바이트 단위로 반환
- sizeof(변수명) → 특정 변수의 크기 확인 가능
6. 정리
데이터 타입 | 설명 | 크기 | 범위 |
char | 문자 1개 저장 | 1 byte | -128 ~ 127 (signed), 0 ~ 255 (unsigned) |
int | 정수 저장 | 4 bytes | -2,147,483,648 ~ 2,147,483,647 |
float | 실수 저장 (단정밀도) | 4 bytes | ±3.4E-38 ~ ±3.4E+38 |
double | 실수 저장 (배정밀도) | 8 bytes | ±1.7E-308 ~ ±1.7E+308 |
📌 추가 사항
- 정수형(int)과 실수형(float, double)의 크기는 운영체제 및 컴파일러에 따라 달라질 수 있음.
- char는 내부적으로 ASCII 코드 값을 저장하며, 1바이트 크기를 가짐.
'프로그래밍 언어 > C' 카테고리의 다른 글
C언어 초급 - 4장: 입출력 함수 (4.1 입력 함수 scanf()) (0) | 2025.02.23 |
---|---|
C언어 초급 - 3장: 변수와 데이터 타입 (3.3 상수 (const)) (0) | 2025.02.23 |
C언어 초급 - 3장: 변수와 데이터 타입 (3.1 변수란?) (0) | 2025.02.23 |
C언어 초급 - 2장: C 프로그램의 구조 (2.3 출력 함수 printf()) (0) | 2025.02.23 |
C언어 초급 - 2장: C 프로그램의 구조 (2.2 주석(Comment)) (0) | 2025.02.23 |