개발이야기/C언어

[C언어] 변수와 데이터타입

Study & Stack 2025. 6. 14. 21:23
728x90

변수란 무엇인가요?

변수는 데이터를 저장할 수 있는 이름이 붙은 메모리 공간입니다. C언어에서도 파이썬처럼 데이터를 보관하고 조작하기 위해 변수를 사용하지만, C는 정적 타입 언어이기 때문에 변수를 선언할 때 타입을 반드시 지정해야 합니다.

int x;       // 정수형 변수 x 선언
float rate;  // 실수형 변수 rate 선언

 변수의 "범위(Scope)"와 "타입(Type)"

범위(Scope)

변수가 어디서부터 어디까지 유효한가를 의미합니다. 대부분 중괄호 {} 블록 안에서 선언된 변수는 해당 블록 안에서만 사용 가능합니다.

타입(Type)

타입은 변수가 담을 수 있는 값의 종류와 크기를 정의합니다. 또한 변수에 대해 어떤 연산이 가능한지도 타입에 의해 결정됩니다.


C언어의 기본 데이터 타입

타입설명예시 값크기 (대부분 시스템 기준)

char 문자, 1바이트 정수 'A', 'z' 1 byte (8bit)
int 정수 1, -10 4 byte (32bit)
float 단정도 실수 3.14f 4 byte
double 배정도 실수 3.141592 8 byte

char는 문자처럼 보이지만 실제로는 정수(ASCII 코드)로 저장됩니다. 예: 'A'는 65


변수 사용 예제

#include <stdio.h>

int main() {
    int x, i, j, k;
    char letter;
    float winpct;
    double pi;

    x = 7;
    k = x + 2;  // k는 9

    letter = 'A';
    letter = letter + 1; // B (ASCII 66)

    pi = 3.1415926;
    winpct = 11 / 2.0;  // 실수 나눗셈: 5.5
    j = 11 / 2;         // 정수 나눗셈: 5
    x = k % 2;          // 나머지 연산: 1

    return 0;
}

주의할 점 요약

  • 문자는 작은 따옴표 'A'처럼 표현해야 합니다 (큰따옴표 "는 문자열).
  • ; 세미콜론으로 모든 명령문 끝맺음 필수! 누락 시 컴파일 에러 발생 가능
  • 정수 나눗셈과 실수 나눗셈 결과는 다릅니다
  • char는 숫자처럼 연산할 수 있는 타입입니다

마무리 정리

  • C언어는 정적 타입 언어로, 변수 선언 시 반드시 타입을 명시해야 합니다
  • char, int, float, double은 가장 기본이 되는 타입입니다
  • 타입에 따라 연산 결과와 표현 방식이 다르므로 주의가 필요합니다
  • 변수는 선언 → 초기화 → 사용의 순서로 관리되며, 블록 스코프에 따라 유효 범위가 제한됩니다

변수와 타입은 C언어의 기본 중의 기본입니다. 이를 정확히 이해하면 포인터, 배열, 함수 등 고급 주제도 훨씬 수월해집니다.

728x90