본문 바로가기
c언어

c언어의 자료형 알아보기(정수형(int), 실수형(float, double), 문자형(char))

by 개발자 L 2022. 11. 27.
반응형

C언어의 자료형 알아보기(정수형(int), 실수형(float, double), 문자형(char))

네 안녕하세요, 이번 포스팅에서는 c언어의 자료형에 대한 것을 한 번 알아보는 시간을 가져볼까 합니다.

이 자료형이란 우리가 프로그램 로직을 짜면서 여러 가지 자료를 변수에 받게 되는데,

그 자료의 형태를 이야기를 하는 겁니다.

그래서 이번 시간에는 그러한 것들이 어떤 게 있는 지 간단히 알아보는 시간을 가질 겁니다.

그럼 지금부터 같이 보실까요?

 

1. 자료형이란?

자료형은 쉽게 말하면 데어터 타입이라고 보시면 됩니다.

c언어에서는 어떤 변수가 하나의 자료형으로 생성이 되면 그 하나의 데이터만 받을 수가 있습니다.

그래서 자료형을 쓸 때는 우리가 어떤 것을 쓸 것인가에 따라서 적절한 자료형을 선언을 해야 합니다.

하지만 어떤 경우에 따라서는 우리가 결괏값을 다른 형태의 자료형으로 출력을 해야 할 때가 생길 수 있겠죠?

그럴 때는 우리는 '형 변환', 다른 말로 '캐스팅'이라고 불리는 기법을 사용해서 자료형을 변환을 시켜줍니다.

다시 말하면 정수형을 실수형으로, 반대로 실수형을 정수형으로 변환을 시켜서 내보내는 겁니다.

자세한 것은 추후에 형 변환에 대하여 포스팅을 할 때 자세히 다뤄보도록 하겠습니다.

 

2. 자료형의 종류와 크기

자료형에 대한 간단한 개념에 대하여 알아보았으면 자료형들의 크기는 얼마나 되는 지도 알아보아야겠죠?

자료형의 종류와 크기를 한눈에 보실 수 있도록 자료를 표로 정리를 해보았습니다.

자료형의 종류
정수형 실수형 문자형
short(2바이트) float(4바이트) char(1바이트)
int(4바이트) double(8바이트)
long(4바이트) long doubl(8바이트)
long long(8바이트)
반응형

 

이런 식으로 정의가 됩니다.

그래서 우리가 어떤 자료형을 쓰느냐에 따라서 소스 코드의 크기가 상이해집니다.

그리고 우리가 자료형의 크기를 크기로 나타내고 싶다면 이런 식으로 나타낼 수 있습니다.

'sizeof'라는 연산자를 이용하여 그 크기를 알아볼 수 있습니다.

sizeof를 사용을 하게 되면 자료형의 크기를 바이트 수로 변환을 해줍니다.

그럼 간단한 예제 코드를 통해서 어떤 식으로 되는지 한 번 알아볼까요?

#include <stdio.h>

int main()
  
{
  int x;
  
  printf("변수 x의 크기 : %d\n", sizeof(x)); // 변수의 크기를 반환하는 함수
  
  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("long long형의 크기 : %d\n", sizeof(long long));
  printf("float형의 크기 : %d\n", sizeof(float));
  printf("double형의 크기 : %d\n", sizeof(double));
  
  return 0;
}

이런 식으로 작성을 해서 우리가 알고 싶어 하는 자료형의 크기를 알아볼 수 있습니다.

그러면 결과 화면은 어떤 식으로 나오는지 한 번 같이 봐볼까요?

변수 x의 크기 : 4
char형의 크기 : 1
int형의 크기 : 4
short형의 크기 : 2
long형의 크기 : 4
long long형의 크기 : 8
float형의 크기 : 4
double형의 크기 : 8

이렇게 각각의 자료형의 크기가 바이트 수에 따라 반환이 되었다는 것을 알 수 있습니다.

 

여기까지 자료형에 대한 것을 간략하게 알아보는 시간을 가졌는데요,

다음 시간에는 c언어에서 사용하는 수식자인 signed, unsigned 수식자에 대하여 알아보도록 하겠습니다.

긴 글 읽어주신 독자분들께 진심으로 감사합니다 ~

반응형

댓글