関数をstatic宣言するのとしないのの違いを教えてください。

static void hoge();
void hoge();

returnした時に挙動が変わるようなのですが・・・・
よろしくお願いします。