2022. 11. 3. 22:12ㆍC언어
이번에는 자료형에 대해 알아보도록 하겠습니다.
자료형은 정수형, 실수형, 문자형이 있고, 후에 배울 배열형, 포인터형, 열거형 등 여러 가지 자료형이 존재합니다.
먼저 정수형, 실수형, 문자형 자료형에 대해 알아보도록 하겠습니다.
- 정수형
자료형 | 크기( byte ) | 표현 범위 |
char | 1 | -128 ~ 127 |
short int | 2 | -32,768 ~ 32,767 |
int | 4 | -2,147,483,648 ~ 2,147,483,647 |
long int | 4 | -2,147,483,648 ~ 2,147,483,647 |
- 실수형
자료형 | 크기( byte ) | 표현 범위 |
float | 4 |
-10^128 ~ 10^127
: 소수 6자리 표현
|
double | 8 |
-10^128 ~ 10^127
: 소수 15자리 표현
|
- 문자형
자료형 | 크기( byte ) | 표현 범위 |
char | 1 | -128 ~ 127 |
unsigned char | 1 | 0 ~ 255 |
우리가 자료형을 사용하는 이유는 메모리 공간을 낭비하지 않고, 효율적으로 사용하기 위함입니다. 그리고 데이터의 타입(type)을 알려주기 위해 사용합니다.
이번에는 상수와 변수에 대해 알아보도록 하겠습니다.
먼저, 상수와 변수의 차이를 보면
- 상수 : 프로그램이 실행되고, 실행이 끝날 때까지 변하지 않는 고정된 값
- 변수 : 프로그램이 실행되는 중에 변할 수 있는 값
이러한 차이점이 있습니다.
상수와 변수를 선언하는 방법을 알아보면,
- 상수
#include <stdio.h>
#define TEST 10
int main(void){
const float pi = 3.14;
return 0;
}
위 코드를 보면 상수를 선언하는 방법은 총 2가지인 것을 알 수 있습니다.
1번째 : #define 를 이용하는 방법
2번째 : const 키워드를 이용하는 방법
이렇게 선언된 상수는 변경할 수 없는 고정값이 됩니다. (연산은 가능)
- 변수
#include <stdio.h>
int main(void){
float pi;
pi = 3.14;
return 0;
}
변수는 위 코드처럼 <자료형 변수이름;>와 같은 형식으로 선언하면 됩니다.
(* 참고 : 자료형 변수이름 = 변수값; 과 같이 선언과 동시에 초기화도 가능합니다. 초기화를 해주지 않으면 변수에는 쓰레기값이라고 하는 이상한 값이 저장됨)
- 변수의 사용 가능 범위 ( 지역 변수와 전역 변수 )
변수는 선언 위치에 따라 사용할 수 있는 범위가 정해집니다.
- 지역 변수
- 전역 변수
#include <stdio.h>
int t = 10; // 전역변수 t -> 모든 함수에서 사용 가능
int main(void){
int t = 20; // 지역변수 t -> main 함수에서만 사용 가능
printf("t = %d\n", t); // 지역변수인 t를 출력 ( 20 )
return 0;
}
* 주의할 점
변수에 값을 초기화할 때, 해당 변수가 표현할 수 범위 바깥의 값을 준다면 어떻게 될까요?
만약 최대값보다 큰 값을 준다면 오버플로(overflow)가 발생합니다.
- overflow
ex) char
char의 경우, 표현 범위는 -128 ~ 127입니다. char형 변수에 128을 저장한다면 실제로 저장되는 값은 -128입니다. 이런 현상을 오버플로(overflow)라고 합니다.
- underflow
오버플로와 반대의 현상입니다. char형 변수에 -129를 저장한다면 실제 저장되는 값은 127이 됩니다.
'C언어' 카테고리의 다른 글
C언어 - 연산자 (0) | 2022.11.09 |
---|---|
C언어 - printf, scanf (0) | 2022.11.03 |
C언어 - 프로그램의 기본 구조 (0) | 2022.11.03 |