great minds think alike
[C] Study: 변수와 자료형 - (2) 자료형 본문
[2] 자료형
• 자료형(data type)이란 자료의 종류이다. 비주얼 스튜디오에서의 자료형은 다음과 같다. 컴파일러가 달라지면 자료형의 크기는 변경될 수 있다.
자료형 | 설명 | 바이트 수 | 범위 | ||
정수형 | 부호 있음 |
short | 16비트형 정수 | 2 | -32768 ~ 32767 |
int | 32비트형 정수 | 4 | -2147483648 ~ 2147483647 | ||
long | 32비트형 정수 | 4 | -2147483648 ~ 2147483647 | ||
long long | 64비트 정수 | 8 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
||
문자형 | 부호 있음 |
char | 문자 및 정수 | 1 | -128 ~ 127 |
부동소수점형 | float | 단일정밀도 부동소수점 |
4 | 1.2E-38 ~ 3.4E38 | |
double | 두배정밀도 부동소수점 |
8 | 2.2E-308 ~ 1.8E308 | ||
long double | 두배정밀도 부동소수점 |
8 | 2.2E-308 ~ 1.8E308 |
왜 다양한 자료형을 사용할까?
• 의문점
- 정수형으로 선언된 변수는 정수만을 저장할 수 있다.
- 정수형 변수에 실수를 저장할 수는 없다.
- 왜 귀찮게 변수를 선언할 때 자료형을 지정하는 것일까?
- C언어에는 왜 이렇게 많은 자료형을 사용할까?
• 답변
- 사용자가 주문한 상품을 상자에 넣어서 인터넷으로 판매하는 회사를 생각해보자. 상품의 크기에 따라 다양한 크기의 상자를 사용하는 것이 바람직할 것이다. 만약 작은 상품을 큰 상자에 넣는다면 낭비가 될 것이고 큰 상품을 작은 상자에 넣는다면 상품이 들어가지 않을 것이다.
- 변수도 저장하는 값의 종류에 따라 여러 가지 유형을 사용하면 메모리를 절약하고 속도를 빠르게 할 수 있다.
참고
자료형의 크기를 알아보려면 sizeof 연산자를 사용하면 된다. sizeof는 변수나 자료형의 크기를 바이트 단위로 반환한다.
1234 int x;printf("변수 x의 크기: %d\n", sizeof(x)); // 변수 x의 크기; 4printf("char형의 크기; %d\n", sizeof(char)); // char형의 크기; 1printf("int형의 크기; %d\n", sizeof(int)); // int형의 크기; 4cs
상수
• 지금까지 변수에 대해 이야기했다. 하지만 프로그램을 작성하려면 고정된 값도 필요하다.
• 예를 들어, 사용자로부터 반지름을 받아서 원의 면적을 계산하기 위하여 다음과 같은 문장을 작성하였다고 하자.
1 | area = 3.14 * radius * radius; | cs |
• area, radius는 변수이다.
• 3.14는 실행 중에 사용자가 입력하는 값이 아니다. 따라서 3.14도 메모리에 저장되어 있어야 한다.
• 3.14와 같이 실행 중에 변경되지 않는 값을 상수(constant)라고 한다.
• 프로그램에서 값을 저장하는 공간은 변수와 상수로 나눌 수 있다.
• 변수(variable)는 한 번 값이 저장되었어도 언제든지 다시 다른 값으로 변경이 가능하다.
• 상수(constant)는 한 번 정해지면 변경할 필요가 없다.
• 상수도 자료형을 가지고 있다. 변수와 아주 흡수하며, 다른 점은 실행 도중에 값이 변경되지 않는다는 점뿐이다.
'2023 > C 언어' 카테고리의 다른 글
[C] Study: 변수와 자료형 - (4) 부동소수점형 (0) | 2023.08.17 |
---|---|
[C] Study: 변수와 자료형 - (3) 정수형 (0) | 2023.08.12 |
[C] math.h 라이브러리 (0) | 2023.07.16 |
[C] C study mini project: 함수 - 소수 출력 프로그램 (0) | 2023.07.15 |
[C] C study mini project: 배열 (0) | 2023.07.13 |