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

double t[1024*1024*32];  /*64 megas de doubles...unos 512 megas */
char * arrayPunteros[]={"hola","buenos","dias","que","lo","disfrutes",NULL,
	NULL,NULL};


void regiones()
{
   static double pi =3.1415926 ;
   void *p = malloc(4096);

   printf ("variable local:     %p\n",&p);
   printf ("static inicializada:%p\n",&pi);
   printf ("global inicializada:%p\n",arrayPunteros);
   printf ("global sin inicial.:%p\n",t);
   printf ("constante:          %p\n",arrayPunteros[0]);
   printf ("puntero:            %p\n",p);
   printf ("brk:                %p\n",sbrk(0));
   printf ("funcion:            %p\n",regiones);
   printf ("funcion libreria    %p\n",printf);
}

int main(int argc, char *argv[])
{
  int tiempo=20;
  pid_t pid=getpid();
  
  regiones();
  printf ("mi pid es %lu\n",(unsigned long) pid);
  printf ("hay unos %d segs para hecer en otro terminal 'pmap %lu' y ver las zonas\n",tiempo, (unsigned long) pid); 
  sleep (tiempo);
  exit(0);
}

