카테고리 없음
변수와 C의 숫자 타입
카나비아
2024. 6. 22. 12:57
변수와 숫자 타입은 C 프로그래밍 언어의 기본적인 개념입니다. 변수는 데이터를 저장하는 데 사용되며, 숫자 타입은 변수에 저장될 수 있는 숫자 값의 유형을 정의합니다.
변수 (Variable)
변수는 데이터를 저장할 수 있는 메모리 공간을 의미하며, 특정 데이터 타입을 가집니다. 변수의 이름은 고유해야 하며, 선언된 후에 값을 저장하거나 변경할 수 있습니다.
변수 선언 및 초기화
변수를 선언하고 초기화하는 방법은 다음과 같습니다:
c
코드 복사
int number; // 변수 선언 number = 5; // 변수 초기화 int age = 25; // 선언과 동시에 초기화
숫자 타입 (Numeric Types)
C 언어에는 여러 가지 숫자 타입이 있으며, 이들은 정수형과 실수형으로 나눌 수 있습니다. 각 숫자 타입은 특정 크기와 범위를 가집니다.
1. 정수형 (Integer Types)
정수형 데이터 타입은 정수를 저장하는 데 사용됩니다. 부호 있는 정수형과 부호 없는 정수형으로 나뉩니다.
- char: 문자형 데이터 타입. 1바이트 크기로 저장되며, 주로 문자 데이터를 저장하는 데 사용됩니다.
-
c코드 복사char c = 'A';
- short: 짧은 정수형 데이터 타입. 일반적으로 2바이트 크기로 저장됩니다.
-
c코드 복사short s = 32767;
- int: 기본 정수형 데이터 타입. 크기는 시스템에 따라 다르지만 일반적으로 4바이트 크기로 저장됩니다.
-
c코드 복사int i = 2147483647;
- long: 긴 정수형 데이터 타입. 일반적으로 4바이트 또는 8바이트 크기로 저장됩니다.
-
c코드 복사long l = 9223372036854775807;
- long long: 매우 긴 정수형 데이터 타입. 일반적으로 8바이트 크기로 저장됩니다.
-
c코드 복사long long ll = 9223372036854775807;
부호 없는 정수형 데이터 타입은 양의 정수를 저장하는 데 사용됩니다.
- unsigned char: 부호 없는 문자형 데이터 타입.
-
c코드 복사unsigned char uc = 255;
- unsigned short: 부호 없는 짧은 정수형 데이터 타입.
-
c코드 복사unsigned short us = 65535;
- unsigned int: 부호 없는 기본 정수형 데이터 타입.
-
c코드 복사unsigned int ui = 4294967295;
- unsigned long: 부호 없는 긴 정수형 데이터 타입.
-
c코드 복사unsigned long ul = 18446744073709551615U;
- unsigned long long: 부호 없는 매우 긴 정수형 데이터 타입.
-
c코드 복사unsigned long long ull = 18446744073709551615ULL;
2. 실수형 (Floating-Point Types)
실수형 데이터 타입은 소수점을 포함한 실수를 저장하는 데 사용됩니다.
- float: 단정밀도 실수형 데이터 타입. 일반적으로 4바이트 크기로 저장됩니다.
-
c코드 복사float f = 3.14f;
- double: 배정밀도 실수형 데이터 타입. 일반적으로 8바이트 크기로 저장됩니다.
-
c코드 복사double d = 3.141592653589793;
- long double: 확장 배정밀도 실수형 데이터 타입. 일반적으로 12바이트 또는 16바이트 크기로 저장됩니다.
-
c코드 복사long double ld = 3.14159265358979323846264338327950288L;
숫자 타입의 크기와 범위
각 숫자 타입의 크기와 범위는 다음과 같습니다:
데이터 타입크기 (바이트)범위char | 1 | -128 ~ 127 (부호 있는) / 0 ~ 255 (부호 없는) |
short | 2 | -32,768 ~ 32,767 |
int | 4 | -2,147,483,648 ~ 2,147,483,647 |
long | 4 또는 8 | -2,147,483,648 ~ 2,147,483,647 (4바이트) |
long long | 8 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
unsigned char | 1 | 0 ~ 255 |
unsigned short | 2 | 0 ~ 65,535 |
unsigned int | 4 | 0 ~ 4,294,967,295 |
unsigned long | 4 또는 8 | 0 ~ 4,294,967,295 (4바이트) |
unsigned long long | 8 | 0 ~ 18,446,744,073,709,551,615 |
float | 4 | 1.2E-38 ~ 3.4E+38 |
double | 8 | 2.3E-308 ~ 1.7E+308 |
long double | 12 또는 16 | 3.4E-4932 ~ 1.1E+4932 |
이 표는 데이터 타입의 크기와 범위를 요약한 것입니다. 데이터 타입의 크기와 범위는 시스템에 따라 달라질 수 있으며, 특히 int, long, long double과 같은 타입은 컴파일러와 아키텍처에 따라 차이가 있을 수 있습니다.
예제 코드
다음은 다양한 숫자 타입의 변수를 선언하고 초기화하는 예제 코드입니다:
c
코드 복사
#include <stdio.h> int main() { char c = 'A'; short s = 32767; int i = 2147483647; long l = 9223372036854775807L; long long ll = 9223372036854775807LL; unsigned char uc = 255; unsigned short us = 65535; unsigned int ui = 4294967295U; unsigned long ul = 18446744073709551615UL; unsigned long long ull = 18446744073709551615ULL; float f = 3.14f; double d = 3.141592653589793; long double ld = 3.14159265358979323846264338327950288L; printf("char: %c\n", c); printf("short: %d\n", s); printf("int: %d\n", i); printf("long: %ld\n", l); printf("long long: %lld\n", ll); printf("unsigned char: %u\n", uc); printf("unsigned short: %u\n", us); printf("unsigned int: %u\n", ui); printf("unsigned long: %lu\n", ul); printf("unsigned long long: %llu\n", ull); printf("float: %f\n", f); printf("double: %lf\n", d); printf("long double: %Lf\n", ld); return 0; }
이 예제 코드는 다양한 숫자 타입의 변수를 선언하고 초기화한 후, printf 함수를 사용하여 그 값을 출력합니다. 이 코드를 통해 각 숫자 타입의 사용법과 출력 형식을 확인할 수 있습니다