Latest web development tutorials

C 캐스트

가변 다른 데이터 유형 한 형식으로 변환된다 캐스트. 간단한 정수로 긴 형태의 값을 저장하려면 예를 들어, 긴 INT를 입력 캐스팅 입력해야합니다. 다음과 같이 명시 적으로 다른 유형에 한 가지 유형의 값을 넣어캐스트 연산자를 사용할 수 있습니다 :

(type_name) expression

또 다른 정수 변수에 의해 정수 변수에 필수 변환 연산자의 사용을 다음 예를 고려, float를 얻을 :

#include <stdio.h>

main()
{
   int sum = 17, count = 5;
   double mean;

   mean = (double) sum / count;
   printf("Value of mean : %f\n", mean );

}

상기 코드는 컴파일되고 실행될 때, 다음과 같은 결과를

Value of mean : 3.400000

여기에서 주목해야 할 것은 캐스트 운영자가 분할보다 우선합니다, 그래서합의 값은 먼저, 계산의 유형 두 배의 가치를 나누고 이중으로변환됩니다.

형식 변환은 컴파일러에 의해 자동적으로 수행 될 수있는 암시, 상기변환 연산자를 사용하여 특정 명시 할 수있다.프로그램에서는 시간 타입 변환 캐스트 연산자를 지출 할 필요가 좋은 프로그래밍 방법입니다.

통합 추진

통합 추진을 의미하는 것은INT 또는 부호없는 INT정수 유형이int로변환하거나서명 INT 과정보다작다. int 형에 문자를 추가, 다음 예를 살펴 보겠습니다 :

#include <stdio.h>

main()
{
   int  i = 17;
   char c = 'c'; /* ascii 值是 99 */
   int sum;

   sum = i + c;
   printf("Value of sum : %d\n", sum );

}

상기 코드는 컴파일되고 실행될 때, 다음과 같은 결과를

Value of sum : 116

실제 가산 연산을 수행 할 때 컴파일러는 일체 추진되고 있기 때문에 여기서, 값 (116)의 합은 상기 'C'의 값은 대응하는 ASCII 값으로 변환된다.

일반적인 산술 변환

일반적인 산술 변환은 암시 적으로 동일한 유형의 값으로 캐스팅된다.다른 유형의 피연산자, 그들은 다음과 같은 구조로 변환하는 경우 컴파일러는 처음으로 최고 수준의 유형을표시, 정수 리프팅을 수행합니다 :

일반적인 산술 변환

일반적인 산술 변환은 대입 연산자, 논리 연산자 &&와 || 적용되지 않습니다. 이제이 개념을 이해하기 위해 다음 예를 살펴 보자 :

#include <stdio.h>

main()
{
   int  i = 17;
   char c = 'c'; /* ascii 值是 99 */
   float sum;

   sum = i + c;
   printf("Value of sum : %f\n", sum );

}

상기 코드는 컴파일되고 실행될 때, 다음과 같은 결과를

Value of sum : 116.000000

여기서, C는 첫 번째 정수로 변환되어 있지만, 일반적인 산술 변환을 적용하도록 의한 최종 값 이중형, 컴파일러는 I 및 C는 부동 소수점 수를 얻기 위해 부상과 함께 넣어 변환 된 것이다 .