Menu
Coddy logo textTech

형 변환 파트 2

Coddy C 여정의 Fundamentals 섹션에 포함된 레슨 — 63개 중 14번째.

1부에서는 암시적 형 변환(implicit type casting)에 대해 살펴보았습니다. 이제 C 언어에서의 명시적 형 변환(explicit type casting)에 대해 알아보겠습니다.

명시적 형 변환(수동 변환)은 캐스트 연산자를 사용하여 하나의 데이터 타입을 다른 타입으로 강제 변환하는 것을 말합니다.

명시적 형변환(explicit casting)의 구문은 다음과 같습니다:

(target_type) expression

부동 소수점(float)을 정수(integer)로 변환해 봅시다:

float price = 45.95;
int rounded_price = (int) price;

위 코드를 실행한 후, rounded_price는 다음과 같습니다:

45

소수 부분은 반올림되지 않고 절삭(버림)된다는 점에 유의하세요.

문자를 정수로 캐스팅하여 ASCII 값을 얻을 수도 있습니다:

char letter = 'A';
int ascii_value = (int) letter;

위 코드를 실행한 후, ascii_value는 다음과 같습니다:

65

기억하세요, 형 변환(type casting)은 특히 더 큰 데이터 타입에서 더 작은 데이터 타입으로 변환할 때 데이터 손실을 초래할 수 있습니다.

challenge icon

챌린지

쉬움

다음과 같은 프로그램을 작성하세요:

  1. temperature라는 이름의 double 변수를 선언하고 98.6이라는 값을 할당합니다.
  2. 명시적 타입 캐스팅(explicit type casting)을 사용하여 temperature를 정수로 변환하고 whole_part라는 이름의 변수에 저장합니다.
  3. 원본 온도와 정수 부분을 각각 별도의 줄에 출력합니다.

출력 예시:

Original temperature: 98.6
Whole part: 98

치트 시트

C 언어에서 명시적 형 변환(Explicit type casting)을 사용하면 캐스트 연산자를 사용하여 하나의 데이터 타입을 다른 타입으로 수동으로 변환할 수 있습니다.

구문:

(target_type) expression

float을 정수(integer)로 변환 (소수점 이하 절삭):

float price = 45.95;
int rounded_price = (int) price;  // 결과: 45

문자를 정수(integer)로 변환 (ASCII 값 획득):

char letter = 'A';
int ascii_value = (int) letter;  // 결과: 65

참고: 더 큰 데이터 타입에서 더 작은 데이터 타입으로 변환할 때 형 변환으로 인해 데이터 손실이 발생할 수 있습니다.

직접 해보기

#include <stdio.h>

int main() {
    // 여기에 코드를 작성하세요
    
    return 0;
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Fundamentals의 모든 레슨