전통적인 방법의 true와 false 형태
const int TRUE=1;
const int FALSE=0;
bool형의 true와 false 형태
bool result; //bool형태의 자료형 result 선언
true와 false가 키워드로 돼 있다.
전통적인 방법의 true와 false 형태
const int TRUE=1;
const int FALSE=0;
bool형의 true와 false 형태
bool result; //bool형태의 자료형 result 선언
true와 false가 키워드로 돼 있다.
형 | Bit | Byte | 범위 | |
char unsigned char | 8 8 | 1 1 | -128 ~ 127 0 ~ 255 | |
열거형 | enum | 16 | 2 | -32768 ~ 32767 |
short unsigned short long unsigned long | 16 16 32 32 | 2 2 4 4 | -32768 ~ 32767 0 ~ 65535 -2147483648 ∼ 2147483647 0 ∼ 4294967295 | |
float double long double | 32 64 80 | 4 8 10 | ±3.4e-38∼±3.4e+38 ±1.7e-308∼±1.7e+308 ±3.4e-4916∼±1.1e+4932 |
접미사 | 자료형 | 사용예 |
u, U | unsigned int | 111U |
l, L | long | 111L |
ul, UL | unsigned long | 111UL |
f, F | float | 1.115F |
l, L | long double | 1.11L |
상수형 선언
const
const double PI = 3.14;
상수형선언은 이런식으로 표현한다.
상수는 대문자 이름을 짓는게 전통이라고 한다. 변수하고 안헷갈리게
대입연산시 발생하는 자동 형 변환
char a = 323223
int b = 2.34234
double c
= 5
자료형 자신보다 큰 용량을 이렇게 집어넣으면 소수부 손실이 발생한다.
char에서는 상위 비트를
잃게된다.
int a = 1;
int b = 2;
float f = a/b;
인 경우 나눗셈
결과는 0.00000
0.5인 경우 소수부 손실이 발생하기 때문에 '='연산을 하기 전에 이미 .5를 잃게된다.
이
럴 때
float f = (float) a/b;
로 고쳐쓰면... .5를 잃지 않게된다.
왜
이렇게 되냐... 논리적으로 설명해라.. 이렇게 하는게 더 낫지 않냐 라고 다른 방법을 제시해도.... 별수없다.
만든사람이
이런 논리로 만든거니까 그 사람의 논리를 받아들이던지... 외우자.