본문 바로가기
C

[C언어] 자료형 -코드 119

by 박사과정 모닝 2022. 12. 17.
반응형

안녕하세요. 박사과정 모닝입니다.

오늘은 c언어에서의 자료형의 개념을 알아보도록 하겠습니다.

 

1. 자료형의 개념

자료형(data type)이란 데이터를 저장하기위한 공간인 변수를 선언할 때, 데이터의 종류와 이를 저장 할 메모리의 크기를 지정하는 단위를 의미합니다. C 언어에서 자료형을 선언한다는 것은, 프로그램에서 사용할 메모리 공간을 지정하는 뜻입니다. 자료형의 최소 단위는 1바이트이며, 1바이트는 8비트로 이루어져 있습니다. 간단히 말해 1바이트는 8개의 0 또는 1을 담을 수 있는 공간이라고 생각하시면 됩니다. (그렇다고 해서 무조건 1바이트를 꽉 채워 데이터를 저장하고 사용해야 하는 것은 아닙니다.) 사용할 데이터의 종류와 크기에 맞게 변수의 자료형을 선언하면 그에 따라 메모리의 저장 공간이 할당됩니다. 따라서 데이터의 크기가 부족해서 저장하고자 하는 데이터를 다 저장하기 못 하거나, 할당받은 저장 공간에 비해 데이터의 크기가 작아 메모리 공간이 비효율적으로 낭비되는 일을 방지하기 위해 자료형을 잘 선정하는 것이 중요합니다.

 

2. 숫자형의 1바이트, 숫자형 범위

숫자형 자료에형에서 1바이트를 할당 받았다면, 총 8개 비트를 할당받은 것입니다. 여기서 첫 번째 비트는 숫자형의 부호(+ 또는 -)를 표시하기 위해 사용되기 때문에 총 7개 비트를 사용할 수 있고, 따라서 2^7=128 종류의 숫자를 나타낼 수 있습니다. 0을 포함하기 때문에 부호가 있는(signed) 1바이트의 숫자형은 -128 ~ 0 ~ 127 까지 범위의 숫자를 표현할 수 있습니다. 만약 부호가 없는(unsigned) 1바이트의 숫자형이라면 0~255까지 표현 가능합니다.

 

3. 문자열형의 8바이트

8바이트 크기의 문자열형 자료형을 선언했다면 한 가지 주의해야 합니다. 마지막 칸은 항상 배열의 끝을 나타내는 NULL 값이 들어가기 때문에, 우리는 실질적으로 7바이트를 사용할 수 있습니다.

 

4. 자료형의 선택

자료형은 변수를 선언할 때에, 프로그램에서 처리할 데이터의 크기와 입출력 데이터의 유형에 따라 선택합니다. 숫자형을 사용하더라도 정수형을 사용할지, 소수점형을 사용할지, 부호는 있는 숫자형을 사용할지 등을 정해야 하고 어느정도까지 큰 숫자를 표현할지도 생각해야 합니다. 또는 문자을 표현할지도 고려할 수 있습니다. 변수가 처리하고자 하는 데이터의 크기에 따라 자료형을 잘 선택하면, 메모리를 효율적으로 사용할 수 있습니다.

 

5. c언어 자료형 종류

C언어에서 제공하는 자료형은 정수형, 실수형, 문자형 세 가지 종류입니다.

자료형 정수형 2 byte short
4 byte int
4 byte long
8 byte long long
실수형 4 byte float
8 byte double
8 byte long double
문자형 1 byte char

빨간색으로 표시된 자료형이, 각각의 유형에서 대표적으로 많이 사용되는 자료형입니다.

 

6. 오버플로우(overflow), 언더플로우(underflow)

자료형은 변수에 대입할 값의 크기를 결정합니다. 만약 우리가 입력한 값이 선택한 자료형의 범위를 벗어나면 오버플로우(overflow) 또는 언더플로우(underflow) 문제가 발생합니다. 오버플로우는 자료형이 처리할 수 있는 유효 범위의 최댓값을 초과할 때 발생합니다. 반대로 언더플로우는 자료형이 처리할 수 있는 유효 범위의 최솟값보다 작은 데이터를 입력하였을 때 발생합니다.

 

7. 변수와 자료형의 관계

변수는 데이터를 입력하기 위해 선언하는 식별자로서 메모리에 할당된 공간을 사용합니다. 용도에 따라 메모리를 할당받고(자료형 설정), 그 메모리 공간에 이름을 붙이는 것(변수)로 이해하시면 됩니다.

반응형