Header File trong C
Một Header file là một file với định dạng .h chứa các khai báo hàm và định nghĩa marco và có thể được chia sẻ qua nhiều file nguồn. Có 2 loại Header file là: File mà lập trình viên viết ra và file đi kèm với trình biên dịch của bạn.
Bạn yêu cầu việc sử dụng Header file trong chương trình bởi việc thêm nó vào chương trình, với ký tự tiền xử lý #include như việc bạn thêm stdio.h vào phần Header file, nó sẽ đi kèm với trình biên dịch của bạn.
Việc bao gồm Header file tương đương với việc bạn sao chép nội dụng của Header file nhưng bạn không cần phải làm như thế, mà chỉ cần #include, code bạn sẽ gọn và đẹp hơn mà vẫn sử dụng được nội dung của Header file.
Trong thực tế chương trình C và C++ chúng ta lưu trữ hầu hết các hằng số, marco và biến toàn cục và các nguyên mẫu của hàm trong các Header file và include các file này khi bạn cần sử dụng.
Cú pháp include trong C
Cả Header file người dùng và hệ thống đều được include sử dụng chỉ dẫn tiền xử lý #include. Dưới đây là 2 dạng:
include <file>
Dạng này được sử dụng cho các file hệ thống. Nó sẽ tìm file với tên là file trong danh sách các thư mục của hệ thống.
include "file"
Dạng này được sử dụng cho những file trong chương trình của bạn. Nó sẽ tìm kiếm các file với tên file trong thư mục cùng chứa với file hiện tại.
Hoạt động Include
Chỉ dẫn #include làm việc bởi chỉ đạo trực tiếp bộ tiền xử lý trong ngôn ngữ C để quét các file nhất định để thêm vào file hiện tại trước khi bắt đầu với đoạn mã nguồn hiện tại. Ví dụ nếu bạn có một Header file là header.h như sau:
char *test (void);
và chương trình chính gọi program.c để sử dụng Header file, giống như:
int x;
#include "header.h"int main (void)
{
puts (test ());
}
và trình biên dịch sẽ thấy luồng token tương tự, khi chương trình program.c đọc như sau:
int x;
char *test (void);int main (void)
{
puts (test ());
}
Once-Only Header
Nếu Header file được include 2 lần, trình biên dịch sẽ báo lỗi và in ra kết quả lỗi. Cách tiêu chuẩn để tránh trường hợp này dùng biểu thức điều kiện như sau:
ifndef HEADER_FILE
#define HEADER_FILEthe entire header file file#endif
Trong trường hợp đã include rồi, chương trình trên sẽ không include lần 2 nữa.
Include với các điều kiện
Đôi khi bạn cần thiết phải chọn một trong số các header để include vào chương trình, bạn phải có tham số cấu hình của hệ điều hành để sử dụng. Bạn có thể thực hiện điều này với một dãy các điều kiện như sau:
if SYSTEM_1
# include "system_1.h"
#elif SYSTEM_2
# include "system_2.h"
#elif SYSTEM_3
...
#endif
Nhưng khi số điều kiện này là nhiều, nó trở lên tẻ nhạt, thay vào đó bộ tiền xử lý cung cấp khả năng sử dụng một macro cho tên Header. Điều này được gọi là Include có điều kiện. Thay vì viết một tên Header như là tham số trực tiếp của #include, một cách đơn giản bạn đặt một tên macro ở đó thay cho nó:
define SYSTEM_H "system_1.h"
...
#include SYSTEM_H
SYSTEM_H sẽ được mở rộng, và bộ tiền xử lý sẽ tìm kiếm system_1.h nếu #include đã được viết theo cách đó ban đầu. SYSTEM_H có thể được định nghĩa bởi file mà bạn tạo với tùy chọn -D.
Theo Tutorialspoint
Bài trước: Bộ tiền xử lý trong C
Bài tiếp: Ép kiểu trong C
Bạn nên đọc
Cũ vẫn chất
-
30 lời chúc sinh nhật chồng yêu ý nghĩa và ngọt ngào
Hôm qua 1 -
Cách sao chép định dạng trong Google Docs, Sheets và Slides
Hôm qua -
Hướng dẫn toàn tập Word 2016 (Phần 26): Tạo đồ họa SmartArt
Hôm qua -
Code LaLa Land Lục Địa Bí Ẩn mới nhất và cách nhập code
Hôm qua 2 -
Bạn đã sử dụng keo tản nhiệt đúng cách?
Hôm qua -
Đấu Trường Chân Lý Mobile (TFT Mobile)
-
‘Ghét’ Apple, Mark Zuckerberg vẫn phải dùng Macbook nhưng nó lạ lắm
Hôm qua 1 -
Hướng dẫn chuyển sang ngôn ngữ tiếng Việt cho Gmail
Hôm qua -
Những câu nói hay về mùa thu, lời chào mùa thu hay và ý nghĩa
Hôm qua -
70 câu ca dao, tục ngữ về học tập hay nhất
Hôm qua