Ragazzi ecco, allora il mio problema sta nella gestione degli sforamenti...

Non riesco a capire come fare ad evitare lo sforamento...

Vorrei che quando la posizione da stampare è < di zero la stampa dell'array prosegua a ritroso a partire dall'ultimo...
Mi spiego megio:

Ho Contatto1, Contatto2, Contatto3 in memoria.

Voglio stampare tutti i contatti, allora richiamo la void PrintAll che a sua volta sfrutta una Print che riceve l'array e la posizione da stampare.
Bene! Se clicco sulla freccia direzionale a destra ( ossia in verso positivo ) devo visualizzare uno alla volta, ed alla pressione del tasto freccetta a destra, il contatto alla posizione successiva, e voceversa se premo la freccetta a sinistra devo poter visualizzare il contatto precedente...Credo di essere stato ancora più chiaro...

Ora il mio programma questo lo fa...ma appena sforo va in segmentation fault...ovviamente

Chi mi aiuta?...Ecco quello che ho scritto fin ora

Codice PHP:
void PrintAll

  
AGENDA *Agenda/* Agenda da stampare */
  
int Fine        /* Dimensione dell'array da stampare */
)
{

      
      
int StartEnd;     /* Inizio dell'Array da stampare */
      
      /* 
     
      Invece di avere la stampa sequenziale così:
      for(Start=0; Start<Fine; Start++)
        Print( Agenda , Start );
      
     */
     
      
char key;
      
      
Start=0;
      
End=Fine;
      
            
      do
      {

        
fflush(stdin);
        
key getch();
        
        switch( 
key )
        {
          case 
75
                   
/* Se l'inizio è negativo */
                   
if( Start )
                   {
                     
Start=0
                     Print( 
AgendaStart );
                   }
                   else
                   {
                     
Start--;  
                     Print( 
AgendaStart );
                   }
        
          case 
77:
                   
/* Se l'inizio è maggiore della lunghezza massima */
                   
if( Start End )
                   {
                     
Start=End;  
                     Print( 
AgendaStart );              
                   }
                   else
                   {    
                     
Start++;
                     Print( 
AgendaStart );
                   }
          default: Print( 
Agenda);
        }
      }
      while( 
key != 27 );
      
      
system("CLS");
      

Non so com'è ma non fa nemmeno i controlli... helpppp