Hủy thay thế macro (#undef)
Các thay thế được đăng ký bằng #define có thể được hủy bỏ nếu chúng không còn cần thiết sau một đoạn mã cụ thể. Để thực hiện điều này, chỉ thị #undef được sử dụng.
#undef macro_identifierCụ thể, điều này hữu ích nếu bạn cần định nghĩa cùng một macro theo các cách khác nhau trong các phần khác nhau của mã. Nếu định danh được chỉ định trong #define đã được đăng ký ở đâu đó trong các dòng mã trước đó (bằng một chỉ thị #define khác), thì định nghĩa cũ sẽ được thay thế bằng định nghĩa mới, và tiền xử lý sẽ tạo ra cảnh báo "macro redefinition" (định nghĩa lại macro). Việc sử dụng #undef giúp tránh cảnh báo này đồng thời thể hiện rõ ý định của lập trình viên không sử dụng macro cụ thể đó trong phần mã tiếp theo.
#undef không thể hủy định nghĩa của các macro được định nghĩa sẵn.
