자료형 변환(type conversion)
데이터 타입의 값을 다른 데이터 타입으로 변환하는 과정을 말합니다. 자료형 변환은 크게 두 가지로 나눌 수 있습니다:
- 자동 자료형 변환 (Implicit Conversion): 컴파일러가 자동으로 수행하는 변환.
- 명시적 자료형 변환 (Explicit Conversion): 프로그래머가 직접 변환을 지정하는 경우, 즉 캐스팅을 사용하는 경우.
자동 자료형 변환 (Implicit Conversion)
int a = 5;
float b = 2.0;
float result = a + b; // a는 자동으로 float로 변환되어 계산됨
char c = 'A';
int i = c; // c는 자동으로 int로 변환됨
float f = 3.14f;
double d = f; // f는 자동으로 double로 변환됨
자동 자료형 변환은 C언어의 타입 규칙에 따라, 표현식 내에서 서로 다른 타입의 값을 자동으로 변환하는 것입니다.
- 정수형과 실수형 연산이 섞일 때, 정수형은 자동으로 실수형으로 변환됩니다.
- 더 작은 정수형 타입(char, short)은 더 큰 정수형 타입(int, long)으로 자동 변환됩니다.
- float은 double로 자동 변환됩니다.
명시적 자료형 변환 (Explicit Conversion)
int i = 10;
float f = 3.14;
float result = (float)i / 3; // i를 float으로 변환
int intResult = (int)f; // f를 int로 변환
명시적 자료형 변환은 프로그래머가 직접 타입을 변환하는 것입니다.
형 변환 연산자는 (type)과 같은 형태로 사용합니다.
자료형 변환 주의사항
- 큰 자료형을 작은 자료형으로 변환할 때, 데이터가 손실될 수 있습니다.
- 부호가 있는 타입(int)을 부호가 없는 타입(unsigned int)으로 변환할 때와 그 반대의 경우에는 주의가 필요합니다.
- 정수 나누기 연산에서는 소수점 이하가 버려지므로, 실수형으로 변환하여 나누는 것이 중요할 수 있습니다.
- 형 변환을 사용할 때, 변환이 의미 있는지를 항상 고려해야 합니다.
출처
W3Schools.com
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
'개발 언어 (Language) > C' 카테고리의 다른 글
반복문 (0) | 2024.08.14 |
---|---|
조건문 (0) | 2024.08.14 |
연산자 (0) | 2024.08.14 |
C언어 데이터 타입 (0) | 2024.08.14 |
C언어 기초 (0) | 2024.08.11 |