Est de retour boolean type autorisé en C?

Lorsque j'essaie de compiler une fonction avec un type de retour bool dans le compilateur GCC, le compilateur me lance cette erreur.

error: expected ‘=’, ‘,’, ‘;’, asm or __attribute__ before comp

Mais quand j'ai changer le type de retour de int, il est compilé avec succès.

La fonction est comme ci-dessous.

bool comp(struct node *n1,struct node *n2)
{
    if(n1 == NULL || n2 == NULL)
    return false;
    while(n1 != NULL && n2 != NULL)
    {
        if(n1->data == n2->data)
        { n1=n1->link; n2=n2->link; }
        else
            return false;

    }
    return true;
}

Ici, je suis à la comparaison de deux listes liées. Est bool type de retour pris en charge en C ou pas?

Qu'est-ce que foo??
désolé. J'ai édité. Vérifier maintenant.
Si les deux n1 et n2 sont les valeurs NULL, vous auriez probablement eu envie de retourner la valeur true.

OriginalL'auteur Vivek | 2011-08-12