VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

C Cơ Bản

Ngôn ngữ lập trình C là gì? Lịch sử của C Các tính năng của C Cài đặt môi trường lập trình C Chương trình C đầu tiên Flow của chương trình C Biến trong C Các kiểu dữ liệu trong C Ép kiểu trong C Từ khóa trong C Các toán tử trong C Comment trong C Các hằng số trong C printf và scanf trong C Ký tự đặc biệt trong C Xử lý lỗi trong C Tệp Header trong C Toán tử sizeof trong C

Câu Lệnh Điều Khiển C

Mệnh đề if-else Mệnh đề switch Vòng lặp for Vòng lặp while Vòng lặp do-while Lệnh Break Lệnh Continue Lệnh Goto

Con Trỏ

Con trỏ (pointer) trong C Con trỏ trỏ tới con trỏ Con trỏ và mảng trong C Quản lý bộ nhớ trong C

Structure & Union

Structure trong C Mảng của structure trong C Structure lồng nhau trong C Union trong C

C Math

Hàm math cơ bản trong C

C Function

Hàm trong C Hàm do người dùng định nghĩa Các kiểu hàm trong C Đệ quy trong C Call by value Call by reference

C Array

Mảng (array) trong C Mảng 2 chiều trong C Truyền mảng vào hàm
Chuỗi (String) Trong C
File I/O Trong C
Bài Tập C Có Lời Giải

Bài Học Bổ Sung

Enumeration (enum) trong C Preprocessors trong C Bảng ASCII
1 / 3
❮ ❯

Tệp Header trong C


Xử lý lỗi trong lập trình C
Mệnh đề if-else trong C

Tệp header trong C là một tệp có phần mở rộng .h chứa các khai báo hàm C và các định nghĩa macro được chia sẻ giữa một số tệp nguồn. Có hai loại tệp tiêu đề: các tệp mà lập trình viên viết và các tệp đi kèm với trình biên dịch.

Để sử dụng một tệp Header trong chương trình C bạn phải sử dụng #include, giống như bạn đã thấy trong các ví dụ của các bài trước, tệp tiêu đề stdio.h, đi kèm với trình biên dịch.

Một thực hành đơn giản trong các chương trình C hoặc C ++ là chúng ta giữ tất cả các hằng số, các macro, các biến toàn cầu của hệ thống và các nguyên mẫu hàm trong các tệp tiêu đề và include tệp tiêu đề đó ở bất kỳ đâu.


Nội dung chính

  • Cú pháp include
  • Hoạt động của include
  • Chỉ được khai báo tệp header một lần
  • Include được tính toán

Cú pháp include

Cả tệp người dùng và tiêu đề hệ thống đều được bao gồm bằng cách sử dụng chỉ thị tiền xử lý #include. Nó có hai dạng sau:

#include <file>

Biểu mẫu này được sử dụng cho tệp tiêu đề hệ thống. Nó tìm kiếm một tệp có tên 'file' trong danh sách thư mục hệ thống tiêu chuẩn. Bạn có thể thêm các thư mục vào danh sách này với tùy chọn -I trong khi biên dịch mã nguồn.

#include "file"

Biểu mẫu này được sử dụng cho các tệp tiêu đề của chương trình do người dùng định nghĩa. Nó tìm kiếm tệp có tên 'file' trong thư mục chứa tệp hiện tại. Bạn có thể thêm các thư mục vào danh sách này với tùy chọn -I trong khi biên dịch mã nguồn.


Hoạt động của include

Lệnh #include hoạt động bằng cách chỉ thị bộ tiền xử lý C để quét tệp được chỉ định làm đầu vào trước khi tiếp tục với phần còn lại của tệp nguồn hiện tại. Đầu ra từ bộ tiền xử lý chứa đầu ra đã được tạo ra, tiếp theo là kết quả đầu ra từ tệp được bao gồm, theo sau là đầu ra xuất phát từ văn bản sau chỉ thị #include . Ví dụ: nếu bạn có tiêu đề tệp header.h như sau:

char *test (void);

Và một chương trình chính được gọi là program.c sử dụng tệp tiêu đề, như sau:

int x;
#include "header.h"

int main (void) {
    puts (test ());
}

Trình biên dịch sẽ dịch program.c như sau:

int x;
char *test (void);

int main (void) {
    puts (test ());
}

Chỉ được khai báo tệp header một lần

Nếu bạn include một tệp tieu đề 2 lần, trình biên dịch sẽ xử lý nội dung của nó hai lần và nó sẽ dẫn đến một lỗi. Cách tiêu chuẩn để ngăn chặn điều này là gửi kèm toàn bộ nội dung thực của tệp trong một điều kiện.

#ifndef HEADER_FILE
#define HEADER_FILE

// toan bo tep header

#endif

Cấu trúc này thường được gọi là trình bao bọc #ifndef . Khi tiêu đề được bao gồm một lần nữa, điều kiện sẽ là sai, bởi vì HEADER_FILE được xác định. Bộ tiền xử lý sẽ bỏ qua toàn bộ nội dung của tệp và trình biên dịch sẽ không nhìn thấy nó hai lần.


Include được tính toán

Đôi khi nó là cần thiết để chọn một trong các tập tin tiêu đề khác nhau để được đưa vào chương trình của bạn. Ví dụ, họ có thể chỉ định các tham số cấu hình được sử dụng trên các loại hệ điều hành khác nhau. Bạn có thể làm điều này với một loạt 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 nó phát triển, nó trở nên tẻ nhạt, thay vào đó bộ tiền xử lý cung cấp khả năng sử dụng macro cho tên tiêu đề. Điều này được gọi là include được tính toán. Thay vì viết tên tiêu đề làm đối số trực tiếp của #include , bạn chỉ cần đặt tên macro ở đó:

#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. SYSTEM_H có thể được định nghĩa bởi Makefile của bạn với tùy chọn -D.


Xử lý lỗi trong lập trình C
Mệnh đề if-else trong C

Recent Updates

Xuất dữ liệu ra màn hình console trong JavaCài đặt môi trường JavaLinkedList trong javaArrayList trong javaXử lý duplicate trong SQLPhím tắt hay dùng trong ExcelBảo mật tập tin ExcelDịch trang tính trong ExcelIn trang tính trong ExcelHàm VLOOKUP trong ExcelĐối tượng đồ họa trong ExcelSử dụng macro trong ExcelSắp Tết 2026 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2026?

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml