티스토리 뷰
모든 강의 자료 : www.codingnow.co.kr/
코딩나우
프로그래밍 교육및 개발의뢰 받습니다.
www.codingnow.co.kr
프로그래밍에서는 변수는 매우 중요하고 기본이 됩니다.
변수의 기본 개념을 알아야 최소한의 코딩을 할 수 있습니다.
변수에는 변수와 상수가 있습니다.
1. 변수의 종류
1) 변수 = "variable" = 변하는
-. 일반적으로 사용되는 값이 변하는 것
2) 상수 = "constant" = 변함없는
-. c언어에서는 이와같이
선언되고 const int a = 10;
-. java에서는 final int a = 10;
이런식으로 선언됩니다.
2. 변수의 활동(?) 범위
1) 지역변수 = local
예)
{
괄호 내에서만 사용되는 변수이다.
}
2) 전역변수 = global
모든 영역에서 접근할 수 있는 변수입니다.
예)
unsigned char a = 1;
void function1(void)
{
unsigned char b = a;
}
void function2(void)
{
unsigned char b = 10;
a = b;
}
아래는 자료형을 정리 한것입니다.
int의 경우 CPU 연산, 가능치에 따라 달라질 수 있습니다.
32bit CPU는 4byte(32bit), 6
4bit CPU는 8byte(64bit)
이것은 CPU의 한번에 계산할 수 있는 능력치에 연관이 있습니다.
자료형 | 키워드 | 메모리 크기 | 값의 범위 |
문자형 | char | 1 Bytes | -128~127 |
정수형 | short | 2 Bytes | -32,768~32,767 |
int | 4 Bytes | -2,147,483,648~ 2,147,438,647 | |
long | 4 Bytes | -2,147,483,648~2.147.483.647 | |
부호없는 문자형 | unsigned char | 1 Bytes | 0~255 |
부호없는 정수형 | unsigned short | 2 Bytes | 0~65,535 |
unsigned int | 4 Bytes | 0~4,294,967,295 | |
unsigned long | 4 Bytes | 0~4,294,967,295 | |
부동 소수형 | float | 4 Bytes | 1.2E-38~3.4E38 |
double | 8 Bytes | 2.2E-308~1.8E308 | |
void형 | void | 0 Bytes | 값 없음 |
실제 개발 중에 실수 하는 경우가 변수 자료형의 한계치를 넘어 overflow 또는 underflow를 발생하여 예상치 못한 값으로 인해 오동작을 하게 됩니다.
예를 들어 unsigned char이면 8bit(1byte) 인데 최대 255까지 표현이 가능합니다.
의도하지 않게 최대값을 넘는 경우
unsigned char a = 0;
a = 256;
return a;
여기서 a는 "256"이 아닌 overflow 되어 "1"이 됩니다.
이와 같은 예는 눈으로 봐도 쉽게 파악이 가능하지만 복잡한 연산이 들어가는 경우 또는 연산속도 및 메모리 관리를 위해 최적화 된 상태에서는 빈번하게 발행할 수 있는 문제가 됩니다.
사용하려는 값의 한계치를 정확하게 파악하여 반드시 처리 해줘야 합니다.
'C언어 강의' 카테고리의 다른 글
개발자의 C언어 독학 기초 # 루프 for 사용법 (0) | 2020.04.10 |
---|---|
C언어 독학 기초 강의 # GCC 컴파일러 한글깨짐 (0) | 2020.04.10 |
C언어 독학 기초 강의 # 조건문 IF 사용법 (0) | 2020.04.10 |
C언어 컴파일러 설치와 프로그래밍 시작 GCC 다운로드 (0) | 2020.04.10 |
C언어 기초 강의 시작 (0) | 2020.04.10 |