Qual é a diferença entre C, C99, ANSI C e GNU C?

Eu comecei a prática de programação emcodechef e foram confundidos pelodiferença entre C e C99. O que C significa aqui? É C89? Verifique os idiomas na parte inferioreste envio. Contém C e C99.

Eu encontrei na internet algo chamado GNU C. Existe um C diferente para sistemas linux / unix? Estes são compatíveis com os padrões C pelo ANSI? Eu também li em alguns lugares "C99 estrito". O que é isso?

Existem outros padrões diferentes de C em uso? Existe algo chamado C 4.3.2 ou é a versão do gcc em uso atual?

EDITAR:

este, este, este ajudou. Vou pesquisar mais e editar as coisas que ficaram sem resposta.

Eu não sou um novato de programação. Eu sei o que é a linguagem C. Eu sei que existem os diferentes padrões C da ANSI, como C89, C99 e C11.

questionAnswers(5)

yourAnswerToTheQuestion