Urgent à propos du langage c!!!!

Fermé
kadikazo - 26 sept. 2004 à 00:32
 Guki - 26 sept. 2004 à 01:27
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!
A voir également:

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.
0