English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 튜토리얼에서 우리는 예제를 통해 C를 배우겠습니다 ++타입 변환의 기본 지식
C ++하나의 타입의 데이터를 다른 타입의 데이터로 변환할 수 있게 합니다. 이를 타입 변환이라고 합니다.
C ++중에는 두 가지 타입의 타입 변환이 있습니다.
명시적 변환
명시적 변환( 강제 타입 변환이라고도 합니다)
관련 변환: C ++문자열을 int로 변환 C ++ String을 float로 변환 / double
컴파일러가 자동으로 완료하는 타입 변환을 명시적 타입 변환이라고 합니다. 이 유형의 변환은 또한자동 변환。
명시적 타입 변환의 두 가지 예를 보겠습니다.
// 명시적 타입 변환의 작동 방식 #include <iostream> using namespace std; int main() { // num_int에 int 값을 할당합니다 int num_int = 9; // double 변수를 선언합니다 double num_double; // 명시적 변환 // int 값이 double 변수에 할당됩니다 num_double = num_int; cout << "num_int = " << num_int << endl; cout << "num_double = " << num_double << endl; return 0; }
출력 결과
num_int = 9 num_double = 9
프로그램에서 우리는 int 데이터를 double 변수에 할당했습니다.
num_double = num_int;
이곳에서 num_double 변수에 int 값이 할당되기 전에, 컴파일러가 자동으로 double로 변환됩니다. 이는 명시적 타입 변환의 예입니다.
//명시적 타입 변환의 작동 방식 #include <iostream> using namespace std; int main() { int num_int; double num_double = 9.99; // 명시적 변환 // double 값 하나를 int 변수에 할당합니다 num_int = num_double; cout << "num_int = " << num_int << endl; cout << "num_double = " << num_double << endl; return 0; }
출력 결과
num_int = 9 num_double = 9.99
프로그램에서 우리는 double 데이터를 int 변수에 할당했습니다.
num_double = num_int;
여기서는 num_int 변수에 double 값이 할당되기 전에 컴파일러가 자동으로 int로 변환합니다. 이것도 은답 변환의 예입니다.
주의하세요:int는 소수 부분을 가질 수 없기 때문에, 위의 예제에서 소수점 이후의 숫자는 잘리게 됩니다.
위의 예제에서 볼 수 있듯이, 데이터 타입을 하나에서 다른 하나로 변환하는 것은 데이터 손실을 쉽게 유발할 수 있습니다. 더 큰 타입의 데이터가 더 작은 타입의 데이터로 변환될 때 이런 일이 발생합니다.
사용자가 데이터를 하나의 타입에서 다른 타입으로 수동으로 변경할 때, 이를명시적 변환로도 알려집니다.강제 타입 변환。
C에서는 세 가지 주요 방법을 사용하여 타입 변환을 할 수 있습니다. ++에서 명시적 변환을 사용합니다. 그들은 다음과 같습니다:
C 타입 강제 변환(도 강제 변환 기호)
함수 표기법(도 구식 C++스타일의 타입 변환)
타입 변환 연산자
그 이름 그대로, 이러한 변환은C 프로그래밍 언어의선호됩니다. 또는강제 변환 표기법。
이러한 문법은 다음과 같습니다:
(data_type)expression;
예를 들어서:
// int 변수 초기화 int num_int = 26; // double 변수 선언 double num_double; // int에서 double로 변환 num_double = (double)num_int;
데이터를 하나의 타입에서 다른 타입으로 변환할 수 있는 유사한 기호 함수를 사용할 수 있습니다.
이러한 문법은 다음과 같습니다:
data_type(expression);
예를 들어서:
// int 변수 초기화 int num_int = 26; // double 변수 선언 double num_double; // int에서 double로 변환 num_double = double(num_int);
#include <iostream> using namespace std; int main() { // double 변수 초기화 double num_double = 3.56; cout << "num_double = " << num_double << endl; // double에서 int로의 C 스타일 변환 int num_int1 = (int)num_double; cout << "num_int1 = " << num_int1 << endl; // double에서 int로의 함수 스타일 변환 int num_int2 = int(num_double); cout << "num_int2 = " << num_int2 << endl; return 0; }
출력 결과
num_double = 3.56 num_int1 = 3 num_int2 = 3
사용합니다C 스타일 타입 변환및함수 스타일 변환을 통해 타입 변환을 수행합니다,결과를 표시합니다. 같은 작업을 수행하기 때문에 두 가지 모두 동일한 출력을 제공합니다.
이 두 가지 타입 변환 외에도 C ++타입 변환을 위해 네 가지 연산자가 있습니다. 이들은 다음과 같습니다:타입 변환 연산자이들은 다음과 같습니다:
static_cast
dynamic_cast
const_cast
reinterpret_cast
이 강의에서는 이强制转换을 이해할 것입니다.