본문 바로가기

Code.D IT 강좌/C언어

[C언어 강좌] 자료형(정수/실수)의 종류와 크기(sizeof 함수)

C언어 강좌



<출처: http://se-sik.tistory.com/90>



자료형

자료형이란 변수를 저장하는 데이터 형식을 말합니다.

자료형은 크게 기본형과 파생형으로 나뉘는데 파생형은 나중에 다룰 것이므로 현재는 기본형에 대해서, 그것도 정수형실수형에 대해서만 설명하겠습니다.



정수/실수형 메모리 크기와 데이터 표현 범위




정수형은 보통 int형 데이터를 선호하고,

실수형double형 데이터를 선호합니다.



그 이유는?

컴퓨터가 선호하는 int형(정수형)과 double형(실수형)이 가장 빠르게 연산되기 때문이죠.



자료형의 크기

자료형의 크기는 한눈에 정리하면 다음과 같습니다.

char < int <= long <= float < double < long double



코드를 통해서 자료형의 크기에 대해 알아보겠습니다,

sizeof(자료형): 자료형의 메모리 크기를 출력합니다.

Ex) sizeof(int)

sizeof(변수): 변수의 메모리 크기를 출력합니다.

Ex) sizeof(num1)



관련 글

[C언어 강좌] 변수 선언 및 초기화



#include 
int main(void){
     //정수형
     char num1 = 10;
     short num2 = 20;
     int num3 = 30;
     long num4 = 40;

     //실수형
     float num5 = 3.14;
     double num6 = 3.25;
     long double num7 = 3.36;

     printf("char형의 크기: %d바이트, num1변수의 메모리 크기: %d바이트\n", sizeof(char), sizeof(num1));
     printf("short형의 크기: %d바이트, num2변수의 메모리 크기: %d바이트\n", sizeof(short), sizeof(num2));
     printf("int형의 크기: %d바이트, num3변수의 메모리 크기: %d바이트\n", sizeof(int), sizeof(num3));
     printf("long형의 크기: %d바이트, num4변수의 메모리 크기: %d바이트\n", sizeof(long), sizeof(num4));
     printf("float형의 크기: %d바이트, num5변수의 메모리 크기: %d바이트\n", sizeof(float), sizeof(num5));
     printf("double형의 크기: %d바이트, num6변수의 메모리 크기: %d바이트\n", sizeof(double), sizeof(num6));
     printf("long double형의 크기: %d바이트, num7변수의 메모리 크기: %d바이트\n", sizeof(long double), sizeof(num7));

     return 0;
}



아래는 위 코드의 출력화면입니다.






char num1 = 10;

short num2 = 20;

int num3 = 30;

long num4 = 40;

→ 정수형 자료형으로 각 변수(num1, num2, num3, num4)를 선언하여 초기화합니다.



float num5 = 3.14;

double num6 = 3.25;

long double num7 = 3.36;

→ 실수형 자료형으로 각 변수(num5, num6, num7)를 선언하여 초기화합니다.



각 변수에 저장된 데이터 값과 변수의 메모리 크기를 출력한 화면을 보게됩니다.