- void
-
Pour la commune française, voir Void-Vacon.Pour le fromage, voir Void (fromage).
En programmation, void est un mot-clé que l'on retrouve dans le langage C et plusieurs autres langages de programmation dont il est à l'origine, comme le C++, le C# ou le Java. Ce mot-clé void peut être utilisé là où se place habituellement le type de retour d'une fonction, comme par exemple int pour un entier ou string pour une chaîne de caractères. Lorsque le programmeur écrit void, cela permet d'indiquer au compilateur que la fonction ne renvoie rien. Ce type de fonction n'existe pas dans certains langages de programmation car elles doivent absolument renvoyer un objet dont le type est précisé. Cependant cette notion de fonction sans retour existe tout de même, par exemple en Pascal ou en Visual Basic, on les retrouve sous le nom de procédure. En algorithmique, elles sont désignées par le terme d'action.
Le mot clé void peut également être utilisé pour déclarer un pointeur universel comme un pointeur de fonction.
Sommaire
Exemples
C#
Lorsque cette fonction sera appelée, elle affichera le message "Coucou!".
void afficher() { printf("Coucou!"); }
C++
Lorsque cette fonction sera appelée, elle affichera le message "Coucou!".
void afficher() { cout << "Coucou!" << endl; }
Java
Lorsque cette fonction sera appelée, elle affichera le message "Coucou!".
void afficher(){ System.out.println("Coucou!"); }
Javascript
En javascript >= 1.1, void est une instruction qui peut être assimilée à une fonction dont le prototype est le suivant [2] :
function void() { /*ne rien faire*/ }
Passer une expression en paramètre à cette instruction permet d'évaluer l'expression sans retourner la valeur évaluée, et de générer à la place la valeur indéfinie ("undefined").
La principale utilisation de void en javascript est, dans une page web, lorsqu'on veut exécuter du code javascript dans un événement onclick sur un lien (élément <a>) mais en empêchant le navigateur de suivre le lien lui-même. Cette utilisation de void est cependant déconseillée[1].
Par ailleurs, on peut trouver, dans les textes normatifs, des prototypes de fonctions utilisant void pour représenter le type de retour, comme en C. En pratique, on ne spécifie pas de type de retour lorsqu'on définit une fonction javascript.Exemple 1
Lorsque cette fonction sera appelée, elle affichera le message "Coucou!".
function afficher(){ document.write("Coucou!"); }
Exemple 2
Lorsque ce lien sera cliqué, il affichera le message "Coucou!".
<a href="javascript:void(alert('Coucou!'))">Click me!</a>
Exemple 3
Le code suivant :
var a,b,c; a = void ( b = 5, c = 7 ); document.write('a = ' + a + ' b = ' + b +' c = ' + c );
affichera : a = undefined b = 5 c = 7
C
Lorsque cette fonction sera appelée, elle affichera le message "Coucou!".
void afficher() { printf("Coucou!"); }
Cette fonction va creer un pointeur de fonction sur afficher et exécuter cette fonction.
void pointeurDeFonction() { void (*p)(); p = &afficher; (*p)(); }
Notes et références
Wikimedia Foundation. 2010.