In C you can have external static variables that are viewable every where in the file, while internal static variables are only visible in the function but is persistent
They are used to implement tools like strtok, and they cause problems with reentrancy...
strtok
Think carefully before fooling around with this tool, but there are times when they are appropriate.