Lập trình C - C #include
Chỉ thị tiền xử lý #include
Chúng ta đặc biệt dùng #include để thêm vào file.c các nội dung từ những file.h của các thư viện (stdio.h, stdlib.h, string.h, math.h) và cũng có thể là từ những file.h của riêng bạn.
Để thêm nội dung những file.h có trong thư mục cài đặt IDE của bạn, bạn cần sử dụng những ngoặc nhọn < >
Cú pháp:
#include <stdlib.h>
Để thêm nội dung những file.h có trong thư mục chứa project của bạn, bạn cần sử dụng những dấu ngoặc kép:
Cú pháp:
#include "myfile.h"
Cụ thể hơn, những chương trình tiền xử lý sẽ bắt đầu trước khi compile. Nó sẽ quét các tập tin của bạn để tìm ra những chỉ thị tiền xử lý trước, tất cả những dòng bắt đầu bằng #.
Khi nó gặp directive #include, nó sẽ đặt nội dung của file được chỉ định vào vị trí #include.
Giả sử tôi có một « file.c » chứa code của các function và « file.h » chứa các prototypes của các function trong file.c
Để đơn giản hơn bạn có thể xem biểu đồ sau :
Tất cả nội dung của file.h sẽ được đặt vào trong file.c, ngay tại vị trí đặt directive #include file.h
Dưới đây là những gì ta có trong file.c :
#include "file.h"
long myFunction(int cai_nay, double cai_kia) {
/* Source code of function */
}
void otherFunction(long value) {
/* Source code of function */
}
Trong file.h :
long myFunction(int cai_nay, double cai_kia);
void otherFunction(long value);
Khi chương trình tiền xử lý chạy đến đây, trước khi biên dịch file.c, nó sẽ đặt file.h vào trong file.c. Cuối cùng, mã nguồn của file.c trước khi biên dịch sẽ giống như sau:
long myFunction(int cai_nay, double cai_kia);
void otherFunction(long value);
long myFunction(int cai_nay, double cai_kia) {
/* Source code of function */
}
void otherFunction(long value) {
/* Source code of function */
}
Nội dung của file.h đã được đặt tại vị trí của dòng #include.
Thật sự không có gì quá khó hiểu đúng không? Tôi nghĩ rằng đã có khá nhiều bạn biết cách thức hoạt động của nó như thế nào.
Chức năng của các #include không có gì khác ngoài hành động chèn file này vào file khác, và các bạn phải biết rằng việc hiểu vấn đề này rất quan trọng.