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 수식자에 대하여 알아보도록 하겠습니다.
긴 글 읽어주신 독자분들께 진심으로 감사합니다 ~
'c언어' 카테고리의 다른 글
c언어 오버플로우 알아보기 (0) | 2022.11.27 |
---|---|
c언어 signed, unsigned 수식자 알아보기 (0) | 2022.11.27 |
c언어 변수와 상수 알아보기 (0) | 2022.11.27 |
c언어 printf(), scanf() 함수를 이용한 예제 풀기 (0) | 2022.11.27 |
c언어의 수식과 c언어로 연산하기 (0) | 2022.11.27 |
댓글