지난시간 알아봤던 코드중 해석을 오묘하게 했던 코드가 있습니다. 바로 int 인데요,
그냥 평범한 10진수 정수를 담는 변수를 뜻한다 했는데, 지난시간 맞닥트린 입력코드에서 소수를 넣지못하는 에러는 과연 어떻게 해결할 수 있을까요? 과연 c언어에서 소수와 같은 다양한 수의 표현은 어떻게 변수로 담아야 할지, 이번시간은 그 해답을 쥐고있는 자료형에 대해서 학습해보았습니다.
형식문자에도 다양한 종류가 있었습니다. 다시 한번 복습겸 표를 가져오자면 아래같이 많은데요.
서식문자 |
자료형 |
의미 |
%d |
int |
10진수 정수 |
%i |
||
%c |
char |
문자 |
%f |
float, double |
고정소수점 방식 실수 |
%e |
부동소수점 방식 실수 (소문자) |
|
%E |
부동소수점 방식 실수 (대문자) |
|
%o |
unsigned int |
8진수 정수 |
%u |
부호없는 10진수 정수 |
|
%x |
16진수 정수 (소문자) |
|
%X |
16진수 정수 (대문자) |
|
%s |
char*(string,문자열) |
문자열 |
%p |
void* |
포인터 주소값 |
%% |
X |
%문자 자체 |
여기서 나온 다양한 수의 표현을 변수에 저장할 수 있습니다! 대신에 수의 표현법이 어떻게 되는지 표시해 주는 것이 필요한데요. 왜냐하면 수의 표현법이 있어야지만 그 수에 맞게 값을 저장할 수 있기 때문입니다.
(같은 1이라도 정수(1)와 소수(1.00)의 표현방식에 따라서 실제로 저장되는 값이 다르게 됩니다.)
이 때의 변수에 담을 수의 표현법을 표시해 주는, 변수에서 담길 수의 종류를 정해주는 것을 '자료형'이라고 합니다.
더 정확하게 말하면, 일정 길이의 메모리에 저장된 정보를 해석하는 방법이 바로 자료형입니다.
이 자료형의 종류는 사실 맨위의 표에서 이미 서식문자의 종류에 따라 언급되있습니다.
자료형에도 많은 종류가 있는데, 맨처음 기초적으로 설명하는 것은 int, char, float, double이 있습니다.
int는 변수가 10진수 정수(=우리가 아는 자연수)를 저장하는 변수라고 정해주는 자료형으로 형식문자 %d, %i와 짝꿍이 됩니다. 이 자료형의 변수 하나의 크기는 4 byte라고 합니다.
char는 변수가 문자를 저장하는 변수라고 정해주는 자료형으로 형식문자 %c와 짝꿍이 됩니다. 이 자료형에 해당하는 변수는 1 byte가 됩니다.
float는 변수가 소수를 저장하는 변수라고 정해주는 자료형으로, 소수점 6자리까지 표현됩니다. 형식문자 %f와 짝꿍이 됩니다. 변수 하나의 크기는 4 btye가 됩니다.
double은 float에서 범위와 크기를 키운 자료형으로, 소수점 16자리까지 표현됩니다. %lf와 짝꿍으로, 변수 하나의 크기는 8 byte입니다.
* byte는 바이트라고 하며, 정표표현의 단위입니다. 컴퓨터에는 정보표현의 최소단위(0또는 1을 저장하는)인 bit, 비트가 있는데, 8bit는 1byte와 같습니다. 1byte의 크기는 문자를 표현하는 기본단위이기도 합니다.
어떤가요? 갑자기 등장한 형식문자와 자료형 때문에 외우고 활용하기 어려울 수도 있는데요. 천천히 내것으로 만든다 생각하면 문제가 없을 것같습니다. 다음시간엔 자료형의 또다른 종류와 범위와 크기에 대해서도 자세히 알아보도록 하겠습니다.
'c언어' 카테고리의 다른 글
다양한 자료형, 상수화 (0) | 2019.06.29 |
---|---|
산술, 대입 연산자, 형 확장 (0) | 2019.06.29 |
입출력 함수 (0) | 2019.06.28 |
상수와 변수 (0) | 2019.06.28 |
형식문자, 이스케이프 문자 (0) | 2019.06.28 |