static:
stored not in the stack, but in the static part. In this way, it will not be cancelled when function is stopped, which means the stack will restore.
const:
"only-read", totally different from not const type.
extern:
use the variable from other C file. In this sense, the static is opposite to extern. It limit the variable in a C file and cannot be used in other C file.