스펜서 개발블로그

[c언어] #1 변수와 자료형, 상수 본문

C

[c언어] #1 변수와 자료형, 상수

스펜서 2022. 7. 19. 18:45

변수

변수란 값을 저장해놓는 저장 공간이다.

변수마다 정해진 자료형이 있고 자료형마다 이에 맞는 크기가 있으며, 변수를 선언하면 저장 공간을 할당 받는다.

또한 초기화를 통해 값을 넣어줄 수 있다.

// 변수의 선언
int a;

// 변수의 초기화
a = 15;

// 선언과 초기화
char ch = text;

 

변수의 명명 규칙

자료형(char, dobule) 같이 이전에 역할이 할당된 문자열은 '예약어'라고 하고, 변수의 이름은 '식별자'라고 부른다.

보통 C언어에서 변수는 아래와 같은 네이밍 규칙을 따른다.

 

  • 영문자(A ~ Z, a ~ z)와 숫자(0 ~ 9), 언더바(_)를 사용할 수 있다.
  • 명칭이 숫자로 시작해서는 안된다. (영문자 혹은 _로 시작) (e.g. int _2items)
  • 명칭 중간에 숫자와 언더바(_)를 사용할 수 있다.
  • 예약어는 사용이 불가능하다. (e.g. void, char, int...)

 

자료형

자료형의 종류

자료형 명칭 크기 값의 범위
정수형 char (문자형) 1바이트 -128 ~ 127
short 2바이트 -32,768 ~ +32,767
int 4바이트 -2,147,483,648 ~ +2,147,483,647
long 8바이트 -2,147,483,648 ~ +2,147,483,647
long long 8바이트 -9,223,372,036,854,775,808 ~ +9,223,372,036,854,775,807
실수형 float 4바이트 ±3.4x10^-37 ~ ±3.4x10^38
double 8바이트 ±3.4x10^-307 ~ ±3.4x10^308
long double 8바이트 이상 double보다 큰 값의 범위

 

이외에도 자료형 앞에 문자를 추가해 만들 수 있는 자료형이 있는데 이는 정수형에만 적용되며 구분 기준은 부호(+, -)의 유무이다. 부호가 있는 변수는 자료형 앞에 signed를 쓰고 부호가 없는 변수는 자료형 앞에 unsigned를 사용한다.

기본적으로 정수형 자료형은 부호가 있는 변수로 unsigned가 생략되어 있으며 명시 할 수 있다.

 

signed 자료형의 경우, 바이트 수는 같고 음수를 표현할 수 없어서 그만큼 더 많은 양수를 표현할 수 있다. 

// signed 변수
int a = -1;
signed int a = -1; // 위 변수와 동일함
long b = 1,000,000;
long c = -3,455;
// => 양수와 음수 모두 표현이 가능

// unsigned 변수
unsigned int c = 130;
unsigned long = 3,000,000,000;
// => 양수만 표현하고 범위는 동일함 (더 많은 양수 표현

 

실수형의 경우, signed, unsigned 자료형을 사용할 수 없다. (존재하지 않음)

 

상수

상수는 선언한 변수 앞에 const를 붙여서 사용하며, 한 번 초기화된(값이 들어간) 상수는 값을 바꿀 수 없다.

단, 포인터의 경우, 두 가지 방식을 조합하여 총 세가지 방식으로 사용할 수 있고 의미가 다르므로 별도의 확인이 필요하다.

// 상수 선언
const double tax_rate = 0.15;

// 상수 변경 불가
tax_rate = 0.17; // 컴파일 시 에러 발생

'C' 카테고리의 다른 글

[C언어] #3. 포인터와 포인터 연산자  (0) 2022.07.21
Comments