c언어 기본 자료형

2019. 3. 24. 23:22C Language

안녕하세요. JW입니다. 

오늘은 C언어의 자료형을 배워보겠습니다.

자료형이란 데이터를 담아낼 수 공간을 의미합니다. 어떤 자료형에 따라서 담을수 있는 공간의 크기가 달라집니다.

자료형은 여러가지 종류가 있습니다. 정수(자연수)형인 char, int, short, long, long long이 있고, 실수(소수)형은 float, double, long double등 있습니다.

뒤로 갈수록 담을수 있는 공간의 크기 즉 범위가 커집니다. 그렇다면 편하게 범위가 큰걸 사용하면 만능이겠네? 라는 생각을 하실 수도 있지만 범위가 클수록 범위가 작은 자료형보다 처리 시간이 더 오래걸립니다. 최적화의 문제로 범위가 큰 자료형은 자주 사용하지 않고 작은 자료형만 사용하게 됩니다.


그럼 자료형들의 부호를 정해주는 예약어를 확인해보겠습니다.

예약어는 두가지가 있는데 signed와 unsigned가 있습니다. signed는 음의 부호도 같이 사용한다는 뜻입니다.

사용법은 signed char와 같이 예약어 먼저 쓰고 자료형을 씁니다. signed와 같은 예약어는 기본적으로 생략가능한 예약어입니다. 즉 CPU에서 signed char와 char는 같은 음의 부호를 사용한다고 인식합니다.

unsigned는 범위의 크기를 절댓값으로 바꿔주는 예약어입니다. 예를 들어 signed char의 범위는 -128~ 127까지이지만 unsigned char의 범위는 0~ 255라는 것이지요. signed와 다르게 unsigned는 생략이 불가능한 예약어입니다. 그래서 

양수만 표현할때 사용하는 예약어입니다.


이렇듯 범위가 정해져 있는데 만약 범위 밖에 수를 입력하게 되면 어떻게 될까?

2가지 경우가 있는데 최댓값보다 더 큰수를 받으면 두 수의 차만큼 최솟값부터 시작해 더해지는 현상이 발생합니다.

이러한 현상을 오버플로우라고 하는데 오버플로우와 반대로 최솟값보다 작은 받으면 두 수의 차만큼 최댓값부터 

시작해 감소합니다. 이런 현상을 언더플로우라고 합니다.

예를 들면 signed char 형의 공간에 128의 값을 대입하면 -128이 나오고 -129의 값을 대입하면 127이 나오는것을 확인할 수 있습니다.


이상으로 기본 자료형의 포스트를 마치겠습니다.

'C Language' 카테고리의 다른 글

C언어 struct(구조체)  (0) 2019.03.24