¿Cómo imprimir la dirección de una función?

Yo dejogcc compila el siguiente ejemplo usando-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;
}

Yo obtengo:

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

La línea 5 hizo mi cambio el código como en la línea 6.

¿Qué me falta para eliminar la advertencia al imprimir la dirección de una función?

Respuestas a la pregunta(4)

Su respuesta a la pregunta