My question is about when a function should be referenced with the extern
keyword in C.
I am failing to see when this should be used in practice. As I
It has already been stated that the extern
keyword is redundant for functions.
As for variables shared across compilation units, you should declare them in a header file with the extern keyword, then define them in a single source file, without the extern keyword. The single source file should be the one sharing the header file's name, for best practice.