Urgent à propos du langage c!!!!
kadikazo
-
Guki -
Guki -
Bj à tous
Voila, j'ai rencontré dans un code source d'un programme en langage C la déclaration : (Void *)(0) et j sais pas de quoi il sagit.
est-ce que quelqu'un a des informations la dessus? vraiment c trés urgent!
Salutation et merci à tous!
Voila, j'ai rencontré dans un code source d'un programme en langage C la déclaration : (Void *)(0) et j sais pas de quoi il sagit.
est-ce que quelqu'un a des informations la dessus? vraiment c trés urgent!
Salutation et merci à tous!
1 réponse
-
Salut!
Ne presse jamais les gens tu verras qu'ils ont un meilleur rendement déstressés. ;o)
(type)valeur est appelé un "cast" cela permet de convertir des types.
exemple:
int n;
char c;
/* 64 est contenu dans un entier 16 bit */
n = 64
/* 64 est contenu dans un entier 8 bit */
c = (char)n;
Affecter 16 bit dans un espace 8 bit engendrerait un dépassement mémoire c'est pourquoi on "cast".
(void *)0 signifie la conversion de la valeur 0 (probablement "int") dans un pointeur "void" c'est à dire le pointeur contient une adresse nulle.
NB: Un "cast" alloue une variable temporaire dont la portée est locale donc il faut affecter une autre variable pour pouvoir l'utiliser plus loin dans le code.