C: pour la boucle int déclaration initiale

Quelqu'un peut-il des précisions sur la suite gcc erreur?

$ gcc -o Ctutorial/temptable.out temptable.c 
temptable.c: In function main’:
temptable.c:5: error: for loop initial declaration used outside C99 mode

temptable.c:

...
/* print Fahrenheit-Celsius Table */
main()
{
    for(int i = 0; i <= 300; i += 20)
    {
        printf("F=%d C=%d\n",i, (i-32) / 9);        
    }
}

P. S: j'ai vaguement rappeler que int i doit être déclarée avant d'un for boucle. Je dois dire que je suis à la recherche d'une réponse qui donne un contexte historique de C standard.