void
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
modifierLe 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
modifierC
modifierLorsque cette fonction est appelée, elle affiche le message "Coucou !".
void afficher(void)
{
printf("Coucou !\n");
}
C#
modifierLorsque cette fonction est appelée, elle affiche le message "Coucou !".
private void afficher()
{
Console.WriteLine("Coucou !");
}
C++
modifierLorsque cette fonction est appelée, elle affiche le message "Coucou !".
void afficher()
{
std::cout << "Coucou !\n";
}
Java
modifierLorsque cette fonction est appelée, elle affiche le message "Coucou !".
void afficher(){
System.out.println("Coucou !");
}
PHP
modifierPhp 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
modifierEn 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);
}