A static variable inside a function keeps its value between calls.

A static global variable or function is “seen” only in the file it’s declared in.

You can have a variable or function in some other file and it will be treated as a different global variable or function, the linker won’t match the two.