automatic storage class is the class used by default when a variable is declared inside a function. A variable with automatic storage class only exists for the lifetime of the function call and the variable is only in scope inside the code block in which it is declared.
static storage class is in effect if the static keyword is used or by default for a variable declared outside a function. The variable exists for the lifetime of the program execution and is in scope inside the code block in which it is declared.
For a variable declared outside a function if the static keyword is used then the variable is not accessible externally to the file, otherwise it is via an extern declaration.