안녕하세요. 이미보라입니다:)
지난 포스팅에서 우리는 C언어의 상수와 변수, 식별자와 예약어를 살펴보았습니다.
오늘은 C언어의 자료형에 대하여 살펴보겠습니다.
우리는 프로그램을 작성할 때 자료, 즉 데이터를 이용할 수 있습니다. 이러한 데이터는 프로그램에서 활용되기 위하여 그 값이 메모리에 저장해뒀다가 우리가 필요할 때 꺼내어 쓸 수 있는데요. 이때 메모리에서 얼마나 공간을 차지할 지를 결정하는 것이 이 자료형입니다. 자료형(데이터타입) 을 알아야 하는 이유는 조금 더 메모리 공간을 효율적으로 사용하기 위해서이고 자료형을 적절하게 사용한다면 프로그램 자체의 성능에도 영향을 줄 수 있습니다.
C언어의 자료형에는 크게 정수형, 실수형, 문자형을 지원합니다.
정수형
자료형 |
의미 |
int/long / long int |
4바이트 (32bit) -2,147,183,648 (-2의31승) ~2,147,483,647(2의31승 -1) |
unsigned / unsigned int unsigned long / unsigned long int |
4바이트 |
short / short int |
2바이트(=16bit) -32,768(-2의 15승) ~ 32,767(2의15승-1) |
unsigned short/ unsigned short int |
2바이트(16bit) 0~65,535(2의16승 -1) |
정수형은 데이터의 값이 -1, 0, 1, 2 , ... 와 같이 정수일 때 사용할 수 있는 자료형입니다. 가장 많이 사용되는 자료형은 int (integer의 약자) 형이고, unsigned int는 부호를 포함하지 않는 정수형을 말합니다. int형은 4byte의 공간을 할당합니다.
실수형
자료형 |
의미 |
double |
8바이트 (64bit) 유효자리 15자리 지수범위 -308~ 308 |
float |
4바이트 지수범위 -38~38 |
실수형의 경우 데이터의 값이 0.1, -3.2 와 같이 소수점 아래의 수 까지의 표기가 가능한 자료형입니다.
float형은 4byte, double은 8byte의 공간을 할당합니다. 두 자료형의 차이는 소수점 아래의 유효자리가 어디까지인가에 있습니다. float의 경우 소수점 아래 6자리, double형의 경우 소수점 아래 15자리까지 유효자리 수로 데이터를 기록할 수 있습니다.
문자형
자료형 |
의미 |
char |
1바이트(8bit) |
문자형은 데이터의 값이 문자에 해당될 때 사용할 수 있으며, 1byte의 공간을 할당하여 데이터를 저장합니다.
자료형의 크기 예제 코드
#include <stdio.h> int main (void) { int variable =0; printf("변수 variable의 크기 : %d \n" , sizeof(variable)); printf("char형의 크기 : %d \n", sizeof(char)); printf("int형의 크기 : %d \n", sizeof(int)); printf("short형의 크기: %d \n", sizeof(short)); printf("long형의 크기 : %d \n", sizeof(long)); printf("float형의 크기: %d \n", sizeof(float)); printf("double형의 크기: %d \n", sizeof(double)); return 0; } |
위의 예제 코드를 실행하면 각 변수가 가지는 메모리상의 크기를 확인할 수 있습니다.
변수 variable은 int 형으로 선언되었음으로 4byte의 크기를 가지고 있습니다.
그 외의 char 형은 1byte, short 형은 2byte, long형은 8byte , float형은 4byte, double형은 8byte의 크기를 가집니다.
참고로 위의 코드에서 printf() 괄호내의 내용을 출력해주는 역할을 합니다. 그리고 %d 는 정수를 출력하는데 필요한 형식지정자입니다. 이에 관련된 자세한 내용은 다음 포스트에서 다루도록 하겠습니다. 감사합니다.
댓글