To je více či méně formalita. Jde třeba o to, když funkce.h includuje nějaké jiné .h, tak je zbytečné, aby totéž includovalo i .c . Jinak vše, co může být v .h ve skutečnosti nic nevytváří, hlavička funkce jen říká, že tam něco takového bude a že s tím má překladač počítat.