It is important to know that unlike modern languages like Java, Kotlin, JS, and Python, C does not have a package system. It has no namespaces, and nor real module system.

It does it in two ways: extern and #include. #include is essentially the bulk way to do extern, so it is essential that you learn extern properly first.

extern

#include

int add(int a, int b);
extern int call_count;
#include "math_utils.h"

int main() {
	return add(2, 3);
}
int add(int a, int b);
extern int call_count;

int main() {
	return add(2, 3);
}