Diferença entre variáveis ​​estáticas, automáticas, globais e locais no contexto de c e c ++

Eu tenho um pouco de confusão sobrestatic, auto, global elocal variáveis.

Em algum lugar eu li que umstatic variável só pode ser acessada dentro da função, mas elas ainda existem (permanecem na memória) após a função retornar.

No entanto, também sei que umlocal variável também faz o mesmo, então qual é a diferença?

questionAnswers(6)

yourAnswerToTheQuestion