Khái niệm
Thay thế Macro (Macro substitution) là cơ chế thay thế chuỗi ký tự, thực hiện qua #define. Nó thay thế phần đầu bằng phần thứ hai của định nghĩa macro trước khi chương trình thực thi.
Phần đầu có thể là kiểu hàm hoặc kiểu đối tượng.
Cú pháp
#define first_part second_part
Ví dụ 1: Macro tính bình phương
#include <stdio.h>
#define square(a) a*a
int main() {
int b, c;
printf("Nhap phan tu b: ");
scanf("%d", &b);
c = square(b); // thay thế thành c = b*b trước khi thực thi
printf("%d", c);
return 0;
}
Kết quả
Nhap phan tu b: 4 16
Ví dụ 2: Macro biểu thức phức tạp
#include <stdio.h>
#define equation (a*b)+c
int main() {
int a, b, c, d;
printf("Nhap a, b, c: ");
scanf("%d %d %d", &a, &b, &c);
d = equation; // thay thế thành d = (a*b)+c
printf("%d", d);
return 0;
}
Kết quả
Nhap a, b, c: 4 7 9 37