모든 컴퓨터 언어를 시작할 때 가장 먼저 보는 것이 변수의 자료형입니다.
- 변수란?
영어로는 Variable : 변할 수 있는 그래서 변수라고 합니다.
C언어에서 "변수를 선언한다." 라고 하는데 프로그래머가 기억해야 할 장소를 컴퓨터한테 할당시킨다 라는 의미입니다.
예를 들면, 내가 3개의 숫자를 입력받아 합계를 구하는 프로그램을 짠다고 가정합시다.
3개의 숫자를 사용자한테 입력을 받고, 그걸 기억했다가 모두 더해야합니다.
3개의 숫자를 어디에 기억하고 있어야 할까요? 사람의 뇌처럼 컴퓨터는 메모리에 기억합니다.
아래의 예제는 num1, num2, num3 이라는 변수에 숫자를 입력받고 합을 구하는 프로그램 예제입니다.
#include <stdio.h>
void main()
{
int num1, num2, num3;
int sum = 0;
printf("숫자를 입력하세요(ex: 10 20 30)) : ");
scanf("%d %d %d", &num1, &num2, &num3);
sum = num1 + num2 + num3;
printf("총합 : %d\n", sum);
}
- 자료형이란?
영어로는 Type(형)을 의미하는데 사용하고자 하는 변수가 어떤 형태인지를 선언하는 것입니다.
"나는 정수형 숫자가 들어가는 변수를 만들거야."
int num;
"나는 실수형 숫자가 들어가는 변수를 만들거야."
float num;
( 참고사항 : C언어가 아닌 Python 이나 다른 언어에서는 이제 자료형이라는 의미가 무색해지고 있습니다.
어떤 Type 이든 한 개로 선언하고 그냥 쓰면 되도록 아주 편리하게 되어있습니다.)
- 자료형의 종류?
문자, 숫자로 크게 구분되어 집니다.
숫자안에서는 정수형, 실수형으로 나뉘어집니다.
아래의 표를 참고하면 됩니다.
자료형 | 범위 | 참고 | 할당된 바이트 수 |
short | -32,768~32,767 | %hd | 2 bytes |
int | -2,147,483,648 ~ 2,147,438,647 | %d | 4 bytes |
unsigned int | %u | 4 bytes | |
long | -2,147,483,648 ~2.147.483.647 | %ld | 4 bytes |
unsigned long | 0~4,294,967,295 | %lu | 4 bytes |
float | 1.2E-38~3.4E38 | %f | 4 bytes |
double | 2.2E-308~1.8E308 | %lf | 8 bytes |
char | -128~127 | %c, %s | 영어 한 글자 1byte, 그 이외 글자당 최대 3byte |
unsigned char | 0~255 | - | 1 byte |
참고에 있는 내용은 추후에 printf 함수를 쓸 때 나오게 되는 건데 미리 눈으로 익혀두면 좋을 것 같아 적었습니다.
C언어에서는 위에서 아래로 우에서 좌로 실행됩니다. 한 개씩 실행되고 순차적으로 실행되는 언어입니다.
그래서 순차적 언어라고도 부르죠. 놀이공원에서 놀이기구를 탈 때, 먼저 입장한 사람이 먼저 타는 것이 당연한 것 처럼 말이죠. 앞의 사람이 다 타지도 않았는데 뒤에 사람이 탈 수 없다는 것도요.
위에서 아래로를 이해가 되시는데, 우에서 좌는 개념이 조금 헷갈리시죠. 이럴 때는, 변수에 값을 넣을 때를 생각해보세요.
int a;
a = 10;
맨처음 C언어를 시작할 때, a = 10 이라는 명령문을 보면 어떤 생각이 드세요?
a가 10이다. 라는 생각이 먼저 생각나시죠?
아까 말씀드린 우에서 좌로 를 생각해보세요. 10을 변수 a에 넣는다.
C언어에서 = 의 의미는 값을 변수에 넣는다 라는 의미입니다.
나중에 조건문에 나오겠지만, C언어서 같다라는 의미는 == 입니다.
- 요약
요약하면 C언어에서 자료형은 변수를 어떤 형태의 변수를 선언할 것인가 라는 것이고, 본인이 선언한 변수에 선언했을 때와 다른 자료형의 값을 대입시키거나 넣어주게 되면 프로그램에 문제가 생기기 때문에 알고 있어야 하는 기본이라고 생각하시면 됩니다.
6강 C언어 포인터의 개념과 사용 (0) | 2020.01.28 |
---|---|
5강 C언어 배열의 개념과 사용 (0) | 2020.01.23 |
4강 C언어 반복문, for문, while문, do~while문 (0) | 2020.01.21 |
3강 C언어 조건문, C언어 if~else문, C언어 switch문 (0) | 2020.01.17 |
2강 C언어 printf , C언어 scanf (0) | 2020.01.15 |