If you said:
char buffer[SIZE];
char * ptr = & buffer[SIZE];
then yes, it is legal. You are specifically permitted by the C ++ standard to use one end of the past array in this way, and it is widely used when (for example) working with iterators.
Edit: But see comments from litba and Steve Jessop. If you want to be completely politically correct, you probably want to:
char * ptr = buffer + SIZE;
- , ( ) , .