산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C - 유형 주조

한 데이터 유형을 다른 데이터 유형으로 변환하는 것을 유형 변환 또는 유형 변환이라고 합니다. 예를 들어, 'long' 값을 간단한 정수로 저장하려면 'long'을 'int'로 캐스트할 수 있습니다. 캐스트 연산자를 사용하여 명시적으로 값을 한 유형에서 다른 유형으로 변환할 수 있습니다. 다음과 같이 -

(type_name) expression

캐스트 연산자가 하나의 정수 변수를 다른 정수 변수로 나누는 것이 부동 소수점 연산으로 수행되도록 하는 다음 예를 고려하십시오 -

라이브 데모
#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

여기서 캐스트 연산자는 나눗셈보다 우선하므로 sum 값은 먼저 double 유형으로 변환됩니다. 마지막으로 두 배 값을 산출하는 count로 나누어집니다.

유형 변환은 컴파일러에 의해 자동으로 수행되는 암시적이거나 캐스트 연산자를 사용하여 명시적으로 지정할 수 있습니다. . 유형 변환이 필요할 때마다 캐스트 연산자를 사용하는 것은 좋은 프로그래밍 방법으로 간주됩니다.

정수 승격

정수 승격은 정수 유형의 값이 int보다 "작은" 프로세스입니다. 또는 부호 없는 정수 int로 변환됩니다. 또는 부호 없는 정수 . 정수로 문자를 추가하는 예를 고려하십시오 -

라이브 데모
#include <stdio.h>

main() {

   int  i = 17;
   char c = 'c'; /* ascii value is 99 */
   int sum;

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

위의 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. -

Value of sum : 116

여기서 sum의 값은 116인데, 이는 컴파일러가 실제 덧셈 연산을 수행하기 전에 정수 승격을 하고 'c' 값을 ASCII로 변환하기 때문입니다.

일반적인 산술 변환

일반적인 산술 변환 값을 공통 유형으로 캐스팅하기 위해 암시적으로 수행됩니다. 컴파일러는 먼저 정수 승격을 수행합니다.; 피연산자의 유형이 여전히 다른 경우 다음 계층에서 가장 높은 유형으로 변환됩니다. -

할당 연산자나 논리 연산자 &&및 ||에 대해서는 일반적인 산술 변환이 수행되지 않습니다. 개념을 이해하기 위해 다음 예를 들어보겠습니다. -

라이브 데모
#include <stdio.h>

main() {

   int  i = 17;
   char c = 'c'; /* ascii value is 99 */
   float sum;

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

위의 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. -

Value of sum : 116.000000

여기서 첫 번째 c가 정수로 변환된다는 것을 이해하는 것은 간단하지만 최종 값이 double이므로 일반적인 산술 변환이 적용되고 컴파일러는 i와 c를 'float'으로 변환하고 더하여 'float' 결과를 산출합니다.

C 언어

  1. C# 유형 변환
  2. Python 유형 변환 및 유형 캐스팅
  3. 자바 타입 캐스팅
  4. C++ 변수 유형
  5. C# - 데이터 형식
  6. C# - 유형 변환
  7. C# - Nullable
  8. C# - 속성
  9. 다이캐스팅의 이해
  10. 정밀 주조 가이드