Est-il possible d'imprimer le type d'une variable/pointeur en C?

Je veux imprimer (ou savoir) le type d'une variable dans mon programme. Est-il une bonne façon de le faire? Par la bonne, je veux dire d'une manière qui fonctionne, même si cela signifie intentionnellement jeter des erreurs du compilateur.

Par exemple:

client.c:55: error: incompatible types in assignment

est l'erreur que je reçois à l'instant. Ce que je VEUX c'est de me dire quelque chose comme:

client.c:55: error: attempting to assign type struct a to type struct b

ou une fonction que je peux utiliser de la sorte:

printf(gettype(x));

qui de sortie:

struct b
  • comment peut-il "travail" si elle ne marche pas compiler ?
  • Si elle "jette les erreurs de compilation", comment peut-elle travailler?
  • Ce que je veux dire par "travail", il me donne le type afin que je puisse corriger l'erreur dans mon programme. Voir la modifier.
  • Certains compilateurs permettent un réglage de verbosité - essayer. Sinon, il suffit de regarder le code. Un décent IDE va généralement de rechercher automatiquement les types de variables de sorte que vous pouvez voir le type en survol ou clic droit sur le nom de la variable.
  • Pour augmenter le niveau de verbosité, donnez -Wall-pedantic options de votre compilateur gcc. Cela devrait vous donner quelques informations supplémentaires au sujet de vos erreurs.
InformationsquelleAutor Ritwik Bose | 2010-01-29