자료형이 필요한 이유
- 자료형이란 정수인지 실수인지 어떤 종류의 숫자인지 미리 구분해서 알려주는 것이다.
- 메모리 사이즈를 어느정도 사용하는지 미리 알려주는 것으로 큰 숫자나 범위가 넓은 숫자를 다룰 때는 메모를 많이 써야한다.
- 자료형 종류
int a; short b; char c; double d; float f;
자료형 | 크기(바이트) | 범위 |
int | 4 | -2,147,483,648 ~ 2,147,483,647 |
short | 2 | -32,768 ~ 32,767 |
char | 1 | -128 ~127 |
··· | ··· | ··· ~ ··· |
- 큰 자료형으로 작은 숫자를 사용하지 않는 이유는?
인공지능 등 복잡한 연산시 데이터 차이로 인한 메모리공간의 소모량이 연산속도에 차이가 나기 때문이다.
그래서 다양한 자료형들이 메모리에서 차지하는 사이즈가 다른 경우가 존재한다.
데이터와 자료형
컴퓨터는 근본적으로 데이터를 처리하는 기계이다. 입력과 결과를 데이터로 받아서 데이터로 보여준다.
프로그래밍이라는 작업 자체가 데이터를 다루는 일이다. C언어에서는 프로그래머를 도와주기 위해 다양한 자료형을 제공해준다. 데이터를 저장하고 연산하기 위해서 다양한 자료형들을 사용한다. 프로그래머들은 자료형을 이용해서 데이터를 처리하는 여러 프로그램들을 만들 수 있다.
자료형이란 메모리 사이즈를 어느정도 사용하는지 미리 알려주는 것으로 큰 숫자나 범위가 넓은 숫자를 다룰 때는 메모리를 많이 써야한다.
최근에는 저장공간이 큰 자료형들로 처리하는 언어들이 생겨나고 있다. 하지만 일반적으로는 자료형 사이즈가 크면 느려진다. 그래서 인공지능 등 복잡한 연산시 데이터 차이로 인한 메모리공간의 소모량이 연속도에서 차이가 나기 때문에 C언어에서는 프로그래머가 자신의 용도에 적합한 자료형을 선택 할 수 있게 다양한 자료형을 제공 해주는 것이다.
자료형의 종류
C언어에서는 크게 정수자료형, 실수자료형 2가지로 나뉜다.(예외가 존재하긴 한다.)
- 정수 자료형(양의정수, 0, 음의정수, 문자들)
int a =1;
char c = 'A'
정수 자료형 | 저장 공간 크기(Byte) | 값의 범위 |
char | 1 | -128 ~ 127 or 0 ~ 255 |
unsigned char | 1 | 0 ~ 255 |
signed char | 1 | -128 ~ 127 |
int | 2 또는 4 | -32,768 ~ 32,767 or -2,147,483,648 ~ 2,147,483,647 |
unsigned int | 2 또는 4 | 0 ~ 65,535 or 0 ~ 4,294,967,295 |
short | 2 | -32,768 ~ 32,767 |
unsigned short | 2 | 0 ~ 65,535 |
long | 4 | -2,147,483,648 ~ 2,147,483,647 |
unsigned long | 4 | 0 ~ 4,294,967,295 |
- 실수 자료형(소수점 숫자들)
실수연산에서 중요한 점은 용도에 따라서 사용되는 숫자의 범위가 아주 크다.
float f = 0.33333f;
double d = 3.141592;
실수 자료형 | 저장 공간 크기(Byte) | 값의 범위 | 십진수 정밀도 |
float | 4 byte | 1.2E-38 ~ 3.4E+38 | 6자리 |
double | 8 byte | 2.3E-308 ~ 1.7E+308 | 15자리 |
long double | 10 byte | 3.4E-4932 ~ 1.1E+4932 | 19자리 |
'프로그래밍언어 > C언어' 카테고리의 다른 글
[C language] scanf() 함수의 기본적인 사용법 (0) | 2020.12.01 |
---|---|
[C language] 변수와 상수 (0) | 2020.11.22 |
[C language] 읽기 좋은 코드를 만드는 요령 (0) | 2020.11.20 |
[C language] 문법 오류와 문맥 오류 (0) | 2020.11.20 |
[C language] 디버거 사용법 (0) | 2020.11.20 |