함수 매크로 정의 사용법: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!