Online C Compiler
Ouvrir dans le compilateur

Édition pédagogique en français

Mots-clés de C17

Distinguez mots réservés, fonctions de bibliothèque et différences entre versions du langage.

Ouvrir dans le compilateur

Mots-clés de C17
Distinguez mots réservés, fonctions de bibliothèque et différences entre versions du langage.

C17 possède 44 mots-clés, interdits comme noms de variables ou de fonctions. La casse compte : int est un mot-clé, Int ne l’est pas. Des noms ne différant que par une majuscule restent toutefois difficiles à lire.

La liste complète est : auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, inline, int, long, register, restrict, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while, _Alignas, _Alignof, _Atomic, _Bool, _Complex, _Generic, _Imaginary, _Noreturn, _Static_assert, _Thread_local.

printf est une fonction de bibliothèque, main le nom conventionnel du point d’entrée d’un programme hébergé, size_t un nom de type et NULL une macro. sizeof est un opérateur ; typedef introduit des alias de types. Ce ne sont pas des fonctions ordinaires.

C23 modifie la liste et ajoute des graphies et possibilités. Ne mélangez pas une liste C23 avec un exemple annoncé en C17. Exécutez le programme, repérez ses mots-clés et distinguez-les des noms de variables.

Code source

#include <stdio.h>

int main(void)
{
    const int limit = 5;
    int total = 0;

    for (int number = 1; number <= limit; ++number) {
        if (number % 2 == 0) {
            continue;
        }
        total += number;
    }

    printf("Sum of odd numbers: %d\n", total);
    return 0;
}
Ouvrir dans le compilateur

Questions fréquentes

Pourquoi le code et certains résultats restent-ils en anglais ?

Les mots-clés C, les identifiants, les commentaires du programme et les sorties attendues restent ceux de la version originale pour conserver un code exécutable et des tests cohérents. Les explications et les consignes sont traduites.