c 언어

C 언어 데이터 타입과 변수

임베디드 친구 2024. 12. 12. 15:30
반응형

C 언어는 시스템 프로그래밍부터 응용 프로그램 개발까지 다양한 목적에 사용되는 강력한 프로그래밍 언어입니다. 이번 글에서는 C 언어에서 사용되는 데이터 타입과 변수에 대해 자세히 설명하겠습니다. 기본 데이터 타입, 사용자 정의 데이터 타입, 변수의 선언 및 초기화, 그리고 예제 코드를 포함하여 5000자 내외로 구성된 내용을 다룹니다.


데이터 타입(Data Type)

C 언어의 데이터 타입은 변수에 저장할 수 있는 데이터의 종류와 크기를 결정합니다. 데이터 타입은 크게 기본 데이터 타입, 파생 데이터 타입, 사용자 정의 데이터 타입으로 나뉩니다.

1. 기본 데이터 타입

기본 데이터 타입은 정수, 실수, 문자 등을 표현하는데 사용됩니다. 다음은 주요 기본 데이터 타입입니다.

데이터 타입 크기 (byte) 범위
char 1 -128 ~ 127 또는 0 ~ 255
int 4 -2,147,483,648 ~ 2,147,483,647
float 4 1.2E-38 ~ 3.4E+38
double 8 2.3E-308 ~ 1.7E+308

char 타입

  • 문자 데이터를 저장하는 데 사용됩니다.
  • 작은 정수를 저장할 수도 있습니다.
char grade = 'A';

int 타입

  • 정수 데이터를 저장하는 데 사용됩니다.
  • short, long과 같은 확장 버전도 존재합니다.
int age = 30;

floatdouble 타입

  • 실수 데이터를 저장하는 데 사용됩니다.
  • doublefloat보다 더 큰 범위와 정밀도를 제공합니다.
float pi = 3.14f;
double e = 2.71828;

2. 파생 데이터 타입

파생 데이터 타입에는 배열, 포인터, 구조체, 공용체 등이 포함됩니다. 이 글에서는 기본 데이터 타입을 중점적으로 다루므로, 파생 데이터 타입은 이후의 글에서 설명하겠습니다.

3. 사용자 정의 데이터 타입

사용자가 새로운 데이터 타입을 정의할 수 있습니다. 대표적으로 typedefenum이 있습니다.

typedef 사용 예제

typedef unsigned int uint;
uint score = 100;

enum 사용 예제

enum Day { MON, TUE, WED, THU, FRI, SAT, SUN };
enum Day today = WED;

변수(Variable)

변수는 프로그램 실행 중 값을 저장할 수 있는 메모리 공간입니다. 변수의 선언, 초기화 및 사용 방법을 알아보겠습니다.

1. 변수 선언

변수를 선언할 때는 데이터 타입과 변수 이름을 지정해야 합니다.

int number;
float average;

2. 변수 초기화

변수 선언 시 값을 할당할 수 있습니다. 이를 초기화라고 합니다.

int number = 10;
float average = 5.75;

초기화하지 않은 변수는 쓰레기 값을 가질 수 있으므로, 항상 초기화를 습관화하는 것이 좋습니다.

3. 변수의 범위와 생명주기

변수는 선언된 위치에 따라 범위(Scope)와 생명주기(Lifetime)가 결정됩니다.

전역 변수(Global Variable)

  • 함수 외부에서 선언되며, 프로그램 전체에서 접근 가능합니다.
#include <stdio.h>

int global_var = 100;

void display() {
    printf("Global Variable: %d\n", global_var);
}

int main() {
    display();
    return 0;
}

지역 변수(Local Variable)

  • 함수 내부에서 선언되며, 해당 함수 내에서만 접근 가능합니다.
#include <stdio.h>

void display() {
    int local_var = 50;
    printf("Local Variable: %d\n", local_var);
}

int main() {
    display();
    return 0;
}

정적 변수(Static Variable)

  • 지역 변수처럼 함수 내부에 선언되지만, 함수 호출이 끝나도 값이 유지됩니다.
#include <stdio.h>

void counter() {
    static int count = 0;
    count++;
    printf("Count: %d\n", count);
}

int main() {
    counter();
    counter();
    counter();
    return 0;
}

예제: 다양한 데이터 타입과 변수 활용하기

다음은 다양한 데이터 타입과 변수를 사용하는 예제입니다.

#include <stdio.h>

int main() {
    // 기본 데이터 타입
    char grade = 'A';
    int age = 25;
    float height = 175.5;
    double weight = 70.25;

    // 사용자 정의 데이터 타입
    typedef unsigned int uint;
    uint score = 95;

    // enum 타입
    enum Day { MON, TUE, WED, THU, FRI, SAT, SUN };
    enum Day today = FRI;

    // 출력
    printf("Grade: %c\n", grade);
    printf("Age: %d\n", age);
    printf("Height: %.2f cm\n", height);
    printf("Weight: %.2f kg\n", weight);
    printf("Score: %u\n", score);
    printf("Today is: %d\n", today);

    return 0;
}

마무리

이번 글에서는 C 언어의 데이터 타입과 변수에 대해 알아보았습니다. C 언어의 데이터 타입과 변수를 잘 이해하면 효율적이고 안전한 프로그램을 작성할 수 있습니다.

반응형

'c 언어' 카테고리의 다른 글

C 언어 조건문과 반복문  (0) 2024.12.13
C 언어의 연산자  (0) 2024.12.12
C 프로그램 입/출력 및 파일 입출력  (0) 2024.12.12
C 프로그램 기본 구조와 `main` 함수  (0) 2024.12.12
C 언어 소개  (0) 2024.12.12