Pourquoi taper un pointeur vide?
Étant novice en C, la seule utilisation que je suis sortie de nulle pointeurs de fonctions polyvalentes qui peuvent stocker différents types de données dans un pointeur. Donc je n'ai pas de type de fonte de mon pointeur lorsque vous faites de l'allocation de mémoire.
J'ai vu des exemples de code qui utilisent parfois des pointeurs void, mais ils obtiennent type-cast. Pourquoi est-ce utile? Pourquoi ne pas créer directement le type désiré de pointeur à la place d'un vide?
source d'informationauteur Ann
Vous devez vous connecter pour publier un commentaire.
Il y a deux raisons pour la coulée d'un vide pointeur vers un autre type de C.
*(int*)p = 42
)La raison pour 1 devrait être évident. Le numéro deux est parce que le C++ n'autorise pas la conversion implicite de
void*
à d'autres types, tandis que le C permet.Vous avez besoin de jeter vide pointeurs vers autre chose si vous voulez de déréférencement par exemple, vous obtenez un vide pointeur comme un paramètre de la fonction et vous savez que c'est un entier:
Votre vide pointeur peut représenter une plus compliquée comme une structure, vous aurez besoin de déréférencer afin d'accéder est les membres.