Why static function

I got the follow code off of the internet:

static int bytesToInt(byte b0, byte b1) {
  return (int) (((int)b1 << 8) | ((int)b0 & 0xFF));
}

static void intToBytes(int num, byte *b0, byte *b1) {
  *b0 = (byte)(num & 0xFF);
  *b1 = (byte)((num >> 8) & 0xFF);
}

…and I don’t understand why it was made static. Shouldn’t it work without static? In the first function it returns an int. In the second function it modifies bytes bo & b1 so why does it need to be static?

When a function is declared as static it is only available inside the c file where it is defined.

For most uses you can drop the "static" as irrelevant.

tobyb121:
When a function is declared as static it is only available inside the c file where it is defined.

Thank you tobyb121 - now I understand