#include <stdio.h>

void f(size_t n, const char a[][n], char *x, int i)
{
   struct {char m[n];} *f = (void*)a[i], *t = (void*)x;
   *t = *f;
}

enum {N=20};
int main()
{
   char a[][N]={"null","eins","zwei","drei"};
   char x0[N]="",x1[N]="",x2[N]="",x3[N]="";
   puts("=====");
   puts(x0);
   puts(x1);
   puts(x2);
   puts(x3);
   puts("=====");
   
   f(N,a,x1,1);
   f(N,a,x2,2);

   puts(x0);
   puts(x1);
   puts(x2);
   puts(x3);
   puts("=====");
	
   return 0;
}
