One would hope that doing addition doesn't corrupt your neighbors. Now if you really just want to see what would happen if it did over flow this little snippet forces an overflow.
unsigned char test[10] = {0};
int * testptr= NULL;
testptr = (int*)&test[5];
test[5] = 254;
test[5] = test[5] + 3;
*testptr = 300;
As expected when the you add 3 to 254 it truncates.
By casting a reference to the value im editing as an int when you do the assignment it is assuming I have a 4 Byte space at that memory location. As expected the value above bleeds over into test[6]. Depending on the system it could very well bleed over into test[4] instead
SH