nullvuild

Bloger @nullvuild

Created Date '2025/03/24 오후 03:11

Modified Date '2025/03/24 오후 03:11

#C언어 #const #define #지역변수 #전역변수

C언어에서는 여러 방식을 통해 값을 활용할 수 있다.

이번 글에서는 const, Define, 지역변수, 전역변수에 대해 알아본다.


1. 상수 – 값을 바꾸지 못하게 고정

값이 변하지 않아야 하는 데이터는 상수(constant)로 선언할 수 있다.


const float PI = 3.14159;

  • const를 쓰면 해당 변수는 이후 값을 변경할 수 없다.

2. 전처리기 방식인 #define

#define MAX 100

  • #define은 코드 전체에서 치환되는 매크로 상수로, 컴파일 전에 MAX가 100으로 바뀐다.

자료형이 없고 디버깅이 어렵기 때문에 복잡한 코드에서는 const가 더 많이 쓰인다. 라고 설명하는 경우가 많지만, 임베디드 시스템처럼 메모리가 제한적이라면 define을 활용하는 것이 좋다.

3. 지역변수와 전역변수

변수가 선언된 위치에 따라 사용 범위(scope)가 달라진다.


int global = 10;  // 전역 변수

int main() {
    int local = 5;  // 지역 변수
    printf("%d %d", global, local);
}

지역변수 (local variable): 함수 안에서 선언된 변수.

→ 함수가 끝나면 메모리에서 사라지고, 다른 함수에서는 쓸 수 없다.


전역변수 (global variable): 함수 밖에서 선언된 변수.

→ 프로그램 전체에서 접근 가능하며, 모든 함수에서 공유된다.


전역변수는 편리하지만 프로그램이 커지면 의도치 않은 값 변경, 디버깅 어려움 등의 문제가 생길 수 있어서 남발하지 않는 것이 좋다. 라고 알려져있지만, 오히려 자주 활용하는 변수는 전역변수로 선언하는 경우도 많다.

4. 변수 이름 규칙

알파벳, 숫자, _ 사용 가능 (단, 숫자로 시작할 수 없음)

대소문자 구분 (score와 Score는 다른 변수)

예약어(int, return 등)는 변수명으로 사용할 수 없음


코멘트

변수와 자료형은 C언어의 가장 기본이면서도, 가장 많이 쓰이는 개념이다.

특히 printf, scanf, const, #define, 변수의 범위(scope)는 초반에 제대로 익혀두면 이후 코딩이 훨씬 수월해진다.

Nullvuild

Nullvuild

@nullvuild

프로필