C언어의 상수와 변수, 자료형
C언어의 상수와 변수, 자료형
C언어에서의 상수는?
38, 75, 63, 'A', 'z', "hello", 0, 3,14등 수나 문자와 같은 값 자체를 상수라고 함
상수의 종류
숫자 상수 |
정수 상수 |
-65536, -75, 0, 54, 88, 753, 46138 등 |
숫자 상수 |
실수 상수 |
3.14, 15.35488, 2.135548, 2.0 등 |
문자 상수 |
문자 상수 |
'a'~'z', '!', '%', '&', ',' 등 |
문자 상수 |
문자열 상수 |
"KOREA", "HELLO", "happy" 등 |
논리 상수 |
참 |
true 혹은 0이 아닌 수 |
논리 상수 |
거짓 |
false 혹은 0인 수 |
변수란?
언제든지 다른 값을 저장할 수 있는 이름
데이터를 담을 그릇
예약어로 설정된 단어는 변수명으로 사용할 수 없다. (함수명, 연산자) ex) break, if, goto
변수 명은 알파벳, 아라비아 숫자, 특수 기호(_)의 조합으로 만들 수 있다.
변수명은 첫 글자로 둘 수 없다.
변수의 종류
숫자 변수 |
정수형 변수 |
정수를 저장하기 위한 4Byte 메모리 공간을 할당 |
숫자 변수 |
실수형 변수 |
실수를 저장하기 위한 4Byte 메모리 공간을 할당 |
문자 변수 |
문자 변수 |
문자를 저장하기 위한 1Byte 메모리 공간을 할당 |
문자 변수 |
문자열 변수 |
문자열을 저장하기 위한 6Byte 메모리 공간을 할당 |
자료형이란?
저장되는 데이터의 종류에 따른 형태로, 저장되는 값의 종류와 범위에 따라 다르게 표현됨.
즉, 쉽게 말하면 자료형 == 변수를 담는 그릇 (C언어에서는 =을 대입, ==를 같다 라는 의미로 사용한다)
자료형의 크기와 범위
정수형 (부호 있음) |
int |
4Byte |
-2^31~(2^31-1) |
정수형 (부호 없음) |
unsigned int |
4Byte |
0~(2^32-1) |
정수형 (부호 있음) |
long long |
8Byte |
-2^63~(2^63-1) |
정수형 (부호 없음) |
unsigned long |
8Byte |
0~(2^63-1) |
실수형 (단정도 부동 소수점) |
float |
4Byte |
+-3.4E-38~+-3.4E+38 |
실수형 (배정도 부동 소수점) |
double |
8Byte |
+-1.7E-308~+-1.7E+308 |
문자형 |
char |
1Byte |
-123~127 |
논리형 |
bool |
1Byet |
true, false |
1. 자료형 char는 아스키 코드 값을 저장할 수 있다.
아스키 코드란, 알파벳/아라비아 숫자/특수 문자 등을 표현하는 2진 코드 체계를 말한다.
2. 각 자료형의 범위에 벗어난 값을 담으려고 할 시, 오버 플로우 현상이 나타난다.
오버 플로우 현상 - 범위에 벗어난 값을 담으려고 할 시, 전혀 다른 값이 출력되는 현상. 메모리가 가득 차 넘친다고 하여 오버 플로우 현상 이라고 한다. 보통 오버 플로우 시 나오는 값을 쓰레기 값이라고 한다.