c언어) 3. 자료형 int, float,char 등등
자료형이란 말 그대로 자료의 형태를 의미합니다.
C언어는 변수 선언에 앞서, 그 변수에 어떤 형태를 담을 것인지 정해야 합니다.
왜 자료의 형태를 정해야 할까요?
예를들어, 밀짚바구니에 액체를 담으면 밑으로 다 빠져나가고 작은 컵에 큰 과일을 넣을 수 없습니다.
그렇다고 엄청큰 상자에 방울토마토를 담으면 남는 공간이 많아서 버리는 공간이 많아집니다.
컴퓨터의 메모리에는 한계가 있기에 공간을 효율적으로 사용하기 위해
필요한 만큼만 공간을 만들고(=자료형 선언) 이름을 붙이는겁니다(=변수 선언).
즉, 자료형을 정하는 것은 딱 맞는 공간을 만드는 것입니다.
여기까지 자료형을 왜 선언하는지 이해하셨다면
자료형을 더 알아보도록 하겠습니다.
한때 수포자였거나 예전에 배운것을 다 까먹은 분들을 위해(<-나) 한국어 의미부터 가겠습니다ㅎㅎ
1. 자료의 종류와 이해
정수
|
마이너스(-), 0, 일반 숫자
예시) -1, -2, -3, 0, 1, 2, 3, 4, 등등
|
실수
|
분수, 소수
예시) 0.1, 0.0004, 1.23 등등
|
문자
|
지금 읽고계신 이 한국어, 영어, 외계어 등등 문자들
|
2. C언어 자료형의 종류
변수에 정수를 선언할때는 정수형을, 실수를 쓸때는 실수형을, 문자를 쓸때는 문자형을 사용합니다.
정수형
|
short(2byte), int(4byte), long(4byte), long long(8byte)
|
실수형
|
float(4byte), double(8byte)
|
문자형
|
char(1byte)
|
**byte란?
컴퓨터는 0과 1의 숫자로만 이루어져있습니다.
0과 1 각각 하나를 1bit라고 표현합니다. 예를들어 "110"이면 숫자가 3개니까 총 3bit입니다.
byte는 숫자8개를 합친 것입니다. 즉 8bit = 1byte가 되는 것입니다.
byte숫자가 클수록 더 많이 저장할 수 있습니다.
3. int
정수형 자료형으로, 제일 많이 쓰이는 정수 자료형입니다.
100이라는 숫자를 넣고싶다면?? int를 사용!
21억이라는 어마어마한 숫자를 담고싶다면??
->int형은 4byte의 크기로, 21억은 못담습니다.
따라서 이때는 long long이라는 자료형을 사용합니다.

4. float
실수형 자료형으로 실수에서 제일 많이 쓰이는 자료형입니다.
소수를 넣고싶을때 사용합니다.

5. char
문자형 자료형입니다.
주의!! [char + 변수명]을 사용한다면 딱 한글자만 넣을 수 있습니다.
예시) char = "아"; (O)
char ="아아아"; (X)
뒤에 선언하는 문자는 꼭 ""표시를 해야합니다.

6. char 변수명[숫자]
위의 char는 딱 한글자만 저장할 수 있었지만,
[숫자]를 넣으면 "숫자+1"만큼의 글자를 저장할 수 있습니다.
"숫자+1"만큼의 글자 저장??
예를들어, window라는 글자를 넣으면 6글자지만 7을 입력해야합니다.
C언어에서는 글자뒤에 빈공간을 하나 둡니다. 따라서 빈공간까지 자리를 마련해야 합니다.


자료형은 크게 정수int, 실수float, 문자char만 기억하면 앞으로 실습하는데 크게 문제 없습니다.
이 세가지만 꼭 기억해 주세요.
