카테고리 없음

변수와 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 함수를 사용하여 그 값을 출력합니다. 이 코드를 통해 각 숫자 타입의 사용법과 출력 형식을 확인할 수 있습니다