티스토리 뷰
○ 상수
상수는 변경이 불가능한 값이다
int no = 30; |
30이라는 값 자체를 이름없는 상수 혹은 리터럴이라고 한다.
30이라는값 자체도 상수로써 메모리 공간에 할당된다.(하지만 변수 no과는 다르게 메모리상에 할당된 이름은 없다.)
상수도 변수로써 표현 가능(const 키워드)
const int NO = 30; |
자료형의 앞에 const키워드를 붙이면 상수형 변수가 된다.(값이 한번 정해지면 변경할 수 없는 변수)
const int NO; NO = 100; //불가함 |
위의 표현은 불가능 하다. 컴파일 하게되면 NO이라는 상수형 변수는 컴파일러에 의해 쓰레기 값으로 초기화가 되고, 그 자체로 값의 변경이 불가능해지기 때문이다.
○ 형변환
- 형변환이라는 것은 자료형의 변환을 뜻 한다.
- 형변환은 자동 형 변환, 강제 형 변환 으로 구분한다.
- 자동 형 변환은 프로그램 실행시 자동으로 발생하는 형변환이고, 강제 형 변환은 프로그래머가 명시하여 강제로 변환이 일어나게 하는 것이다.
예1) int no = 255.14; |
예2) double no = 255; |
예3) char no = 129; |
예1)에서는 실수형 값을 정수형 변수에 값을 넣으려고 하기 때문에 형변환이 되서 소수점 이하의 값이 소실되어 int형 변수에 저장된다.
예2)에서는 정수형 값을 실수형 변수에 대입하려 하고 있다. 이 경우는 실수형의 자료형이 데이터 표현범위가 더 넓기 때문에 값의 소실이 발생되지 않는다.
예3)에서는 char형의 변수에 129라는 정수를 대입하려고 한다. 하지만 char형은 1바이트 자료형이기 때문에 데이터의 표현범위(-127~128)에 129라는 값이 포함되지 않기 때문에 '상위 바이트의 손실'이 발생된다. 결과는 -127이 된다.
'C언어' 카테고리의 다른 글
포인터와 const와의 관계, 포인터와 2차원 배열 (0) | 2014.05.25 |
---|---|
[C언어] 배열 (0) | 2014.03.02 |
C언어에서 사용되는 서식문자 종류 (1) | 2014.02.26 |