Thực chất của include là gì

header.h

#include <stdio.h>
#include <stdint.h>

static int sqr(int x){
    return x^2;
}

main.c

include "header.h"

include <stdio.h>

Khi include, compiler bê nguyên file header.h và stdio.h vào file main.c

 

Mở rộng: trong header.h, ta dùng static hàm, thì khi include trong file main.c, có gọi được hàm đó từ chỗ khác trong main.c không? (Ví dụ hàm sqr(int x)
Có. Vì khi include header.h, toàn bộ file header.h được copy vào main.c, bao gồm cả định nghĩa của hàm sqr(int x). Do đó, nó tương đương với định nghĩa của static hàm có trong main.c, nên hàm khác trong main.c gọi được.  

Nhanvat

Ủng hộ chúng tôi

Nếu bạn thấy nội dung hữu ích, hãy ủng hộ chúng tôi một ly cà phê nhé

Buy Me A Coffee buymeacoffee.com/invencamp