#include <stdio.h>
 
void foo( unsigned char a, 
	  unsigned char b, 
	  unsigned char c, 
	  ...  )
{
        printf( "a: %p\nb: %p\nc: %p\n", 
                (void *)&a, 
                (void *)&b, 
                (void *)&c );

        printf( "d1: %hhu\n", *(&c - 8) );
        printf( "d2: %hhu\n", *(&c - 4) );
        printf( "d3: %hhu\n", *(&c + 0) );
        printf( "d4: %hhu\n", *(&c + 4) );
        printf( "d5: %hhu\n", *(&c + 8) );
        printf( "d6: %hhu\n", *(&c +12) );


}
 
 
 
int main(void)
{
        foo( 1, 2, 3, 4 );
 
 
        return 0;
}
