En programmation informatique, void est un mot-clé que l'on retrouve dans le langage C (qui signifie "vide" ou "nul") et plusieurs autres langages de programmation, comme le C++, le C# ou le Java.

Utilisation

modifier

Le mot-clé void peut être utilisé là où se place habituellement le type de retour d'une fonction, comme int pour un entier ou string pour une chaîne de caractères. Lorsque le programmeur écrit void, cela permet d'indiquer que la fonction ne renvoie rien. C'est ce qu'on appelle une procédure dans d'autres langages, comme Pascal et Visual Basic. En algorithmique, elles sont désignées par le terme d'action.

En C et C++, Le mot clé void peut également être utilisé pour déclarer un pointeur universel comme un pointeur de fonction.

Exemples

modifier

Lorsque cette fonction est appelée, elle affiche le message "Coucou !".

    void afficher(void)
    {
        printf("Coucou !\n");
    }

Lorsque cette fonction est appelée, elle affiche le message "Coucou !".

    private void afficher()
    {
        Console.WriteLine("Coucou !");
    }

Lorsque cette fonction est appelée, elle affiche le message "Coucou !".

    void afficher()
    {
      std::cout << "Coucou !\n";
    }

Lorsque cette fonction est appelée, elle affiche le message "Coucou !".

    void afficher(){
      System.out.println("Coucou !");
    }

Php dans sa version 7.1 support également ce type de retour.
Lorsque cette fonction est appelée, elle affiche le message "Coucou !".

    function afficher(): void 
    {
        echo "Coucou !";
    }

À partir de la version 1.1, void est un opérateur qui évalue l'expression qui lui est donnée et retourne undefined [1]. Sa syntaxe est :

void expression
// ou
void(expression)

L'opérateur void permet d'insérer une expression produisant des effets de bord dans un contexte où la valeur undefined est attendue[1].

void est aussi utilisé pour obtenir la valeur primitive de undefined (en utilisant void(0) ou "void 0") dans le cas où la variable globale undefined aurait été modifiée[1].

Enfin dans un navigateur, void peut être utilisé dans un URI avec "javascript:" pour empêcher le changement de page : le navigateur va suivre l'URI retourné sauf si cette valeur est undefined[1]. Par exemple :

<a href="javascript:void(0)">Cliquer ici ne fait rien</a>
<a href="javascript:void(alert('hello, world'))">Cliquer ici affiche "hello, world"</a>

Cette technique est cependant déconseillée en faveur d'autres techniques comme l'utilisation de javascript discret[1].

Pointeur générique

modifier

En C, le type void* est le type de pointeur générique : tout type de pointeur peut être converti implicitement en ce type et inversement.

/* prototype de fonction prenant et retournant un pointeur générique. */
void *realloc(void *ptr, size_t size);

int *realloc_int(int *p, size_t taille) {
    return realloc(p, taille);
}

Notes et références

modifier
  1. a b c d et e [1]