printf("pointer: %d\n", sizeof(*void));
Cette ligne entraîne une erreur de syntaxe à cause de *. Que dois-je faire pour que cela fonctionne?Recherche de la taille d'un pointeur
printf("pointer: %d\n", sizeof(*void));
Cette ligne entraîne une erreur de syntaxe à cause de *. Que dois-je faire pour que cela fonctionne?Recherche de la taille d'un pointeur
Vous essayez actuellement de trouver la taille qui est à vide d'adresse. Si vous cherchez la taille d'un pointeur vide, essayez plutôt: sizeof (void *) à la place.
printf("pointer: %zu\n", sizeof(void*));
devrait faire ce que vous voulez. Utilisez% zu et non% d car le pointeur est une valeur non signée et non un nombre décimal. Edit: Quelque chose d'autre que je viens de penser pour la première fois, est-ce que% zu dépend du compilateur? Avons-nous besoin de faire les choses différemment sur l'architecture 32 bits ou 64 bits?
printf("pointer: %d\n", sizeof(void*));
Notez que vous devriez utiliser '"% zu "' pour imprimer les types 'size_t' (c'est-à-dire les valeurs renvoyées par' sizeof') plutôt que ""% d "'. C'est une différence pédant, mais vous ne voudriez pas voir un tableau de -3 éléments, n'est-ce pas? –