Imprimer l'adresse ou le pointeur de la valeur dans C

Je veux faire quelque chose qui me semble assez simple. J'obtiens des résultats, mais le problème est que je n'ai aucun moyen de savoir si les résultats sont corrects.

Je travaille en C et j'ai deux pointeurs; je veux imprimer le contenu du pointeur. Je ne veux pas déréférencer le pointeur pour obtenir la valeur pointée, je veux juste l'adresse du pointeur est stocké.

J'ai écrit le code suivant et ce que j'ai besoin de savoir, c'est si c'est juste, et si non, comment puis-je corriger.

/* item one is a parameter and it comes in as: const void* item1   */
const Emp* emp1 = (const Emp*) item1; 

printf("\n comp1-> emp1 = %p; item1 = %p \n", emp1, item1 );

Alors que je suis à l'affichage de cette (et la raison pour laquelle il est important qu'il est correct), c'est que finalement, j'ai besoin de faire cela pour un pointeur vers un pointeur. Qui est:

const Emp** emp1 = (const Emp**) item1; 
  • Ce que vous avez écrit est correct, quel problème rencontrez-vous exactement?
  • Comme je l'ai décrit, j'ai été d'obtenir des résultats, mais n'avait aucun moyen de savoir si les résultats étaient corrects ou si il me faisait de la camelote. Ne et autres ci-dessous (ainsi que vous-même) a confirmé que ces résultats sont valables.
InformationsquelleAutor Frank V | 2009-06-28