#include <stdio.h>
#include <stdlib.h>

void hello(void)
{
     printf("\n\nHello world!!!\n\n");
}

void byebye(void)
{
     printf("\n\nHasta la vista baby!!!\n\n");
}

int main(int argc, char *argv[])
{
  void (*ptr_func)(void);
  int resp;
  
  printf("Hello ou Bye (1 ou 2) ? ");
  scanf ("%d",&resp);
  
  /* Se o usuario selecionar 1, ptr_func aponta para hello */
  /* caso contrrio, aponta para byebye                    */

  if (resp==1)
     ptr_func = hello;
  else
     ptr_func = byebye;

  /* Executa ptr_func, seja um hello ou um byebye */
  
  (*ptr_func)();
  
  /* Exibe os endereos das funes: hello, byebye e ptr_func */
  printf("Endereco de Hello   : %p \n",hello);
  printf("Endereco de ByeBye  : %p \n",byebye);
  printf("Endereco de Ptr_Func: %p \n",ptr_func);

  printf("\n");
  system("PAUSE");	
  return 0;
}
