

#define __MAIN_C__
const char mychar1[6]="ABCDEF";
const char *mycharptr;
int mymode;
void xgetstr1(void);
void xgetstr2(void);
typedef struct 
 {int mode;
  void (*funcptr1)();//warning: function declaration isn't a prototype
  const void (*funcptr2)(); //warning: function declaration isn't a prototype
                            //type qualifiers ignored on function return type  
  } myoneset;

void xgetstr1(void){	mycharptr=&mychar1[0];}
void xgetstr2(void){	mycharptr=&mychar1[1];}
  
myoneset listofsets[2] =
 {{1,&xgetstr1,&xgetstr2}, {3,&xgetstr2,&xgetstr1}};
    //initialization from incompatible pointer type

int main (void)
{
   const void (*myfuncptr)();//warning: function declaration isn't a prototype
   int i ;
   mycharptr=&mychar1[0];
   mycharptr=&mychar1[2];			
	 	
   myfuncptr=&xgetstr1;//warning assignment from incompatible pointer type
		
   myfuncptr=listofsets[0].funcptr1; //warning assignment from incompatible pointer type
   myfuncptr=listofsets[1].funcptr2;
	
   myfuncptr=0;
 
   mymode=2;
   for (i=0;i<2;i++)
   {
      if (listofsets[0].mode==mymode)
         myfuncptr=listofsets[1].funcptr2; //POINTEDfunctionAA
   } 	
   return(0);
}

