C 언어의 MIN() 매크로

C Eon Eoui Min Maekeulo



C의 관계 연산은 널리 사용되며 이 언어로 작성된 거의 모든 프로그램에서 찾을 수 있습니다. 이 언어에는 여러 가지 연산자가 있습니다. 가장 일반적으로 사용되는 연산자는 같음( = ), 초과( > ) 및 미만( < )입니다. 이러한 유형의 작업은 if 조건에서 자주 사용됩니다. 예를 들어, 입력 조건은 다른 변수나 상수에 대한 =, > 또는 < 변수의 값입니다.

이러한 관계 연산은 매우 유용합니다. 그러나 한 변수가 다른 변수보다 큰지 작은지 뿐만 아니라 그 값도 알아야 하는 경우가 있습니다. 이는 'if' 문과 간단한 관계 연산을 사용하여 쉽게 수행할 수 있지만 C 언어는 두 변수 사이의 최대값 또는 최소값을 반환하는 함수가 있는 매크로도 제공합니다.

이 Linuxhint 기사에서는 매크로 MIN()을 사용하여 두 변수의 최소값을 찾는 방법을 배웁니다. 구문, 호출 방법 및 허용되는 데이터 유형을 보여 드리겠습니다. 그런 다음 작동 방식에 대한 설명을 살펴보고 이 매크로가 적용되는 표현식과 공식을 검토하겠습니다.







그런 다음 다양한 데이터 유형의 최소값을 매크로 MIN()에 대한 입력으로 찾는 방법을 보여주는 코드 조각과 이미지가 포함된 실제 예제에서 배운 내용을 적용합니다.



C 언어의 MIN() 매크로 구문

최소 ( , )

C 언어의 MIN() 매크로에 대한 설명



매크로 MIN()은 'a'와 'b' 변수 사이의 최소값을 반환합니다. 매크로 MIN()에 의해 표시되는 표현식은 'a'와 'b' 변수 사이에 관계 연산 '<'이 적용되는 참/거짓 조건입니다. 'a'가 'b'보다 작으면 'a'가 반환됩니다. 'b'가 'a'보다 작으면 'b'가 반환됩니다.





#define MIN(a,b) (((a)<(b))?(a):(b))

매크로 MIN()은 두 입력 변수가 모두 숫자 값이어야 한다는 유일한 규칙을 사용하여 입력 및 출력의 모든 데이터 유형에 대해 작동합니다.

이 매크로는 'sys' 폴더의 'param.h' 헤더에 정의되어 있습니다. 이를 사용하려면 다음과 같이 코드에 삽입해야 합니다.



#include

매크로 MIN()을 사용하여 두 정수 변수 사이의 최소값을 찾는 방법

이 예에서는 임의의 값을 할당하고 매크로 MIN()을 호출하여 최소값을 찾는 int 유형의 'a' 및 'b' 변수를 만듭니다. 그런 다음 printf() 함수를 사용하여 반환된 값을 출력합니다.

이를 위해 'stdio.h' 및 'param.h' 헤더를 포함하고 void 유형의 main() 함수를 엽니다. 여기서는 'a' 및 'b' 정수를 정의하고 임의의 값을 할당합니다. 또한 결과를 저장하기 위해 'c' 정수를 정의합니다.

그런 다음 매크로 MIN()을 호출하고 'a'와 'b'를 입력 인수로 전달하고 'c'를 출력 인수로 전달합니다. printf() 함수를 호출하여 반환된 결과를 표시합니다. 다음은 이 예제의 코드입니다.

#include

#include

무효의 기본 ( ) {

정수 = 32 ;

정수 = 14 ;

정수 ;

= 최소 ( , ) ;

printf ( ' \N 최소값은 %i입니다 \N ' , ) ;

}

다음으로 이 코드의 컴파일 및 실행이 포함된 이미지를 볼 수 있습니다. 보시다시피 이 경우 매크로 MIN()은 'b' 값을 반환합니다.

double 유형의 변수를 사용하는 경우에도 마찬가지입니다.

#include

#include

무효의 기본 ( ) {

더블 = ;

더블 = 1 ;

더블 ;

= 최소 ( , ) ;

printf ( ' \N a와 b의 최소값은 %f입니다. \N ' , ) ;

}


부동 소수점 변수를 사용한 최소값 및 최대값

매크로 MIN()은 유용한 함수이지만 부동 소수점 값을 사용하는 변수에는 사용하지 않는 것이 좋습니다. 이러한 종류의 값의 최소값을 찾기 위해 수학 라이브러리는 'math.h' 헤더에 정의된 함수 세트를 제공합니다. 이 세트는 fmin(), fminf() 및 fminl() 함수로 구성됩니다. 각 함수에 대한 다음 구문을 살펴보겠습니다.

더블 fmin ( 더블 엑스 , 더블 그리고 ) ;
뜨다 fminf ( 뜨다 엑스 , 뜨다 그리고 ) ;
더블 fminl ( 더블 엑스 , 더블 그리고 ) ;

fmin() 함수는 부동 소수점을 사용하여 double(8바이트) 유형의 데이터에 대해 작동합니다. fminf() 함수는 float(4바이트) 유형의 데이터에 대해 작동하는 반면, fminl()은 long double(16바이트) 유형의 데이터에 대해 작동합니다. 또한 이러한 함수는 숫자가 아닌 값(NaN)을 처리합니다.

결론

이 Linuxhint 기사에서는 매크로 MIN()을 사용하여 두 변수 사이의 최소값을 찾기 위해 알아야 할 모든 것을 설명했습니다. 우리는 이 매크로의 구문과 정의뿐만 아니라 두 입력 변수 사이의 '보다 작음' 연산(<)에 대해 참/거짓 조건을 적용하는 공식을 살펴보았습니다.

그런 다음 다양한 유형의 데이터로 작업하는 방법을 보여주는 코드 조각과 이미지를 사용하여 배운 이론을 실제 예제에 적용했습니다. 또한 MIN() 사용이 권장되지 않는 부동 소수점 숫자를 처리하기 위한 권장 옵션도 보여 주었습니다.