C

C 변수와 상수

kevinmj12 2025. 3. 28. 18:14

데이터를 처리하기 위해서는 데이터가 어떤 값인지를 저장해놓고 불러와 사용하는 과정이 필수적이다.

그리고 컴퓨터는 데이터를 저장하기 위해 기억장치인 메모리를 활용한다.

메모리에 데이터를 담아 기억을 해두고, 메모리의 각 장소마다 존재하는 주소값을 통해 기억해둔 데이터를 찾는다.

그리고 이 주소값을 대신할 식별자를 지정하고 식별자를 통해 데이터에 접근하는데 그 식별자가 변수이다.

즉, 변수란 데이터를 저장해둔 메모리 주소를 쉽게 식별하기 위해 붙인 이름이다.

 

변수

 

예를 들어 7이라는 32비트 정수는 다음과 같이 메모리주소 0x1000부터 0x1003까지 4바이트의 저장 공간에 저장된다.

그런데 이 주소값을 기억하는 것보다는 식별자를 통해 접근하는 것이 좋을 것이고, 그 식별자의 이름이 변수이다.

int a = 7;과 같이 정의를 하면 7은0x1000~0x1003에 저장되고, a는 그 주소값을 대신하는 식별자인 것이다.

 

변수의 자료형

정수형 char 1바이트 -128 ~ 127 (-2^7 ~ 2^7-1)
short 2바이트 -32,768 ~ 32,767 (-2^15 ~ 2^15-1)
int 4바이트 -2,147,483,648~ 2,147,483,647 (-2^31 ~ 2^31-1)
long 4바이트 -2,147,483,648~ 2,147,483,647 (-2^31 ~ 2^31-1)
long long 8바이트 -9223372036854775808 ~ 9223372036854775807 (-2^63 ~ 2^63-1)
실수형 float 4바이트 -3.4 * 10^38 ~ 3.4 * 10^38
double 8바이트 -1.8 * 10^308 ~ 1.8 * 10^308

 

대표적인 변수의 자료형과 그 범위는 위와 같다.

그리고 변수를 선언할때는 [자료형] [변수명] = [값]; 과 같이 선언하면 된다. (ex: int a = 10;)

변수의 규칙

변수에는 다음과 같은 규칙들이 있어 이 규칙에 맞게 사용해야 한다.

  • 모든 변수는 사용되기 전에 선언되어야 한다.
  • 영문자 또는 언더바(_)로 시작되어야 하며 숫자로 시작할 수 없다.
  • 중간에 영문자, 언더바(_), 숫자를 사용할 수 있다.
  • 예약어(void, return, int 등...)는 사용할 수 없다.
  • 대소문자를 구별하여야 한다.

상수

상수는 변수와 마찬가지로 값이 저장된 메모리주소의 식별자이지만 그 값을 변경할 수 없다.

상수를 선언할 때는 const [자료형] [변수명] = [값] 과 같이 선언하면 되며 보통 변수명은 대문자만을 사용한다.

const 이외에도 #define 전처리기를 사용할 수도 있다. (#define A 10)

cosnt int A = 10; 과 같이 선언을 해주었다면, 이후에 A = 11;과 같이 값을 변경하려고 하면 오류가 발생한다.