swapしたいんですけど分かりません。reinterpret_castを使うみたいですけど。。。

#include <stdio.h>

void swap(int *x,int *y);
void main(void)
{
int i;
int x[3]={1,2,3};
int y[3]={4,5,6};

printf("関数実行前\n");
for(i=0; i<3; i++){
printf("x[%d] = %d y[%d] = %d\n", i,x[i],i,y[i]);}

printf("関数実行後\n");
for(i=0; i<3; i++){
swap(&x, &y);
printf("x[%d] = %d y[%d] = %d\n", i,x[i],i,y[i]);
}
}
void swap(int *x,int *y)
{
int tmp;

tmp = *x;
*x = *y;
*y = tmp;
}