Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

great minds think alike

[C] Study: 변수와 자료형 - (2) 자료형 본문

2023/C 언어

[C] Study: 변수와 자료형 - (2) 자료형

gapsoo 2023. 8. 12. 19:03

 

 

 

 


[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는 변수나 자료형의 크기를 바이트 단위로 반환한다.
 
1
2
3
4
int x;
printf("변수 x의 크기: %d\n"sizeof(x));    // 변수 x의 크기; 4
printf("char형의 크기; %d\n"sizeof(char)); // char형의 크기; 1
printf("int형의 크기; %d\n"sizeof(int));   // int형의 크기; 4
cs

 

 

 


상수

 지금까지 변수에 대해 이야기했다. 하지만 프로그램을 작성하려면 고정된 값도 필요하다.

 

 예를 들어, 사용자로부터 반지름을 받아서 원의 면적을 계산하기 위하여 다음과 같은 문장을 작성하였다고 하자.

 

1
area = 3.14 * radius * radius;
cs

 

 area, radius는 변수이다.

 

 3.14는 실행 중에 사용자가 입력하는 값이 아니다. 따라서 3.14도 메모리에 저장되어 있어야 한다.

 

 3.14와 같이 실행 중에 변경되지 않는 값 상수(constant)라고 한다.

 

 프로그램에서 값을 저장하는 공간은 변수와 상수로 나눌 수 있다.

 

 변수(variable)는 한 번 값이 저장되었어도 언제든지 다시 다른 값으로 변경이 가능하다. 

 

 상수(constant)는 한 번 정해지면 변경할 필요가 없다.

 

 상수도 자료형을 가지고 있다. 변수와 아주 흡수하며, 다른 점은 실행 도중에 값이 변경되지 않는다는 점뿐이다.