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.