What are static functions in C?

Basically, this is yet another meaning of static. When you write static preceding a function declaration, its meaning is “this function is only callable within this translation unit”.

A “translation unit” is the input which corresponds to an object file (foo.o) as output. In C, this is usually a foo.c file. Or more precisely, it’s the output after running the preprocessor on foo.c.

Tagged #semantics, #c, #programming.
👋 I'm Jim, a full-stack product engineer. Want to build an amazing product and a profitable business? Read more about me or Get in touch!

More by Jim

This page copyright James Fisher 2016. Content is not associated with my employer. Found an error? Edit this page.