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
-
Hướng dẫn chơi Rung Cây vàng Trúng Cây vàng trên My Viettel
Hôm qua -
Bitcoin là gì? Tại sao Bitcoin không phải là "tiền ảo"?
Hôm qua -
15 cách chỉnh độ sáng màn hình máy tính, laptop
Hôm qua -
Hướng dẫn chèn link vào nội dung trên Canva
Hôm qua -
Tổng hợp cách tạo mật khẩu mạnh và quản lý mật khẩu an toàn nhất
Hôm qua -
Code Alo Chủ Tướng mới nhất 12/2024
Hôm qua -
Cách xóa Header và Footer trong Word
Hôm qua -
8 cách mở bàn phím ảo trên Windows 10
Hôm qua -
Cách kích hoạt Dynamic Lighting trên Windows 11
Hôm qua -
Cách sửa lỗi âm thanh trên Windows 10, khắc phục lỗi âm thanh Win 10
Hôm qua