(b) ? (a) : (b))"; 3. 복잡한 표현식으로 매크로를 정의합니다. "#define ABS(x) ((x) < 0 ? -(x ) : (x) )”."/> (b) ? (a) : (b))"; 3. 복잡한 표현식으로 매크로를 정의합니다. "#define ABS(x) ((x) < 0 ? -(x ) : (x) )”.">

 >  기사  >  백엔드 개발  >  함수 매크로 사용법 정의

함수 매크로 사용법 정의

DDD
DDD원래의
2023-10-11 12:00:191223검색

함수 매크로 정의 사용법: 1. 간단한 계산 매크로 "#define SQUARE(x) ((x) * (x))"를 정의합니다. 2. 여러 매개변수가 있는 매크로 정의 "#define MAX (a, b) ((a) > (b) ? (a) : (b))"; 3. 복잡한 표현식으로 매크로를 정의합니다. "#define ABS(x) ((x)

함수 매크로 사용법 정의

함수 매크로는 매크로의 대체 텍스트로 코드 조각을 사용하는 데 사용되는 `#define`을 사용하여 정의된 특별한 유형의 매크로입니다. 함수 매크로의 기본 구문은 다음과 같습니다.

#define 宏名(参数列表) 替换文本

함수 매크로에서 매개변수 목록은 선택사항이며 대체 텍스트는 코드 조각입니다. 전처리기가 함수 매크로에 대한 호출을 발견하면 함수 매크로의 매개변수를 실제 매개변수로 바꾸고 대체 텍스트를 코드에 삽입합니다.

다음은 함수 매크로의 몇 가지 일반적인 용도입니다.

1. 간단한 계산 매크로 정의:

#define SQUARE(x) ((x) * (x))

코드에서 `SQUARE(5)`를 사용하면 전처리기가 이를 `((5) * ( 5))`, 즉 `25`입니다.

2. 여러 매개변수가 있는 매크로 정의:

#define MAX(a, b) ((a) > (b) ? (a) : (b))

코드에서 `MAX(5, 10)`을 사용하면 전처리기가 이를 `((5) > (10) ? ( 5)로 대체합니다. 10))`, 즉 `10`입니다.

3. 복잡한 표현식으로 매크로를 정의하세요:

#define ABS(x) ((x) < 0 ? -(x) : (x))

코드에서 `ABS(-5)`를 사용하면 전처리기가 이를 `((-5) < 0 ? -(- 5) : (- 5))', 즉 '5'입니다.

함수 매크로는 유형 확인 및 범위 제한이 없는 단순한 텍스트 대체라는 점에 유의해야 합니다. 따라서 잠재적인 오류와 부작용을 피하기 위해 함수 매크로를 사용할 때는 주의가 필요합니다. 또한 함수 매크로는 전처리 단계에서 대체되므로 해당 매개변수가 여러 번 평가되지 않습니다. 따라서 함수 매크로에서는 부작용이 있는 표현을 피해야 합니다.

위 내용은 함수 매크로 사용법 정의의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.