Tham khảo tài liệu 'giáo trình ngôn ngữ lập trinh c part 10', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | PHỰ LỤC n. CÁC CHỈ THỊ TlỂN xử lí trong ngôn ngữ lập trình c VÀ PHƯƠNG pháp tổ chức các tệp thư viện chương trình Các chỉ thị tiển xủ lí là các lệnh giúp cho việc soạn thảo chương ứình nguồn c trước khi biên dịch. Khi dịch một chương trình không phải chính bản thân chương trình đó dược dịch tnà trình biên dịch sẽ căn cứ vào các chì thị tiền xử lí để chỉnh lại bản gốc. Sau đó bàn chỉnh này mới được biên dịch để chạy. Trong các phần trước chúng ta đã làm quen với chỉ thị include và ttdefine trong phẩn này chúng tôi sẽ giới thiệu thêm các chỉ thị biên dịch có điều kiện. 1. Chỉ thỊ if dạng 1 if biểu thức hằng Đoạn chương trình endif Nếu biểu thức hằng đúng thì trình biên dịch c sẽ biên dịch đoạn chương trình nằm giữa if vã endif ngược lại đoạn này sẽ bị bỏ qua. 2. Chỉ thị if dạng 2 if biểu thức hằng Đoạn chương trình 1 else Đoạn chương trình 2 endif Néu biểu thức hằng đúng rtù tứrihbten d ch c sẽ bièn dịcYi đoạn chương trình 1 nàm giữa ifvà ttelse ngược lại đoạn chương trình 2 sẽ được biên dịch. 3. Chỉ th dạng ifdef và ifndef Các chỉ thị này có thể có một số cách sử dụng như sau Dạng 1 ifdef tên macro Đoạn chương trình endif Nêu tên macro đã được định nghĩa bài definè thì trình biên dịch c sẽ biên dịch đoạn chương trình nằm giữa ifdef vờ tỉeiìdì . Ngược lại đoạn đó bị bỏ qua. Dạng 2 ifdef tên macro Đoạn chương trình 1 else 189 Đoạn chương trình 2 endíf Nếu tên macro đã được định nghĩa bởi defìnè thì trình biên dịch c sẽ biên dịch đoạn chương trình 1 nằm giữa ifdefvà ttendif. Ngược lại đoạn chương trình 2 sẽ được biên dịch. Dạng 3 ifndef tên macro Đoạn chương trình endif Nếu tên macro chưa được định nghĩa thì trình biên dịch sẽ biên dịch đoạn chương trình nằm giữa ifndef và endif. Ngược lại đoạn này bị bỏ qua. Dạng 4 ifndef tên macro Đoạn chương ưình 1 else Đoạn chương trình 2 endif Nếu tên macro chưa được định nghĩa thì ttình biên dịch sẽ biên dịch đoạn chương trình 1 nằm giữa ttifndef và endif. Ngược lại dớọn chương trình 2 được biên dịch. Trong quá Ưình làm việc .