Wie drucke ich die Adresse einer Funktion?
ich lassegcc
Kompilieren Sie das folgende Beispiel mit-Wall -pedantic
:
#include <stdio.h>
int main(void)
{
printf("main: %p\n", main); /* line 5 */
printf("main: %p\n", (void*) main); /* line 6 */
return 0;
}
Ich bekomme:
main.c:5: warning: format ‘%p’ expects type ‘void *’, but argument 2 has type ‘int (*)()’
main.c:6: warning: ISO C forbids conversion of function pointer to object pointer type
In Zeile 5 habe ich den Code wie in Zeile 6 geändert.
Was fehlt mir, um die Warnung beim Drucken einer Funktionsadresse zu entfernen?