The C compiler will give an error if the function or variable is not declared before use, but if the function/variable is declared but not defined (implementation), it will not find this error until the linker stage.

The only difference in Pascal is that you cannot declare a function/variable without having a definition (implementation) in the same unit.