Jak wydrukować adres funkcji?
Pozwoliłemgcc
skompiluj poniższy przykład używając-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;
}
Dostaję:
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
Linia 5 sprawiła, że zmieniłem kod jak w linii 6.
Czego mi brakuje, aby usunąć ostrzeżenie podczas drukowania adresu funkcji?