>>238
流れがよくわからんけど、やりたいのはこう?
main()
{
char a[256];
unsigned char s = -1;

printf("%p a[255]\n", &a[255]);
printf("%p a[-1]\n", &a[s]);
}

/*
* ./a.out
* 0x7fffcd9f0e6f a[255]
* 0x7fffcd9f0e6f a[-1]
*/