He's adding "1" to the pointer that points to the variable
"b" which in this case is allocated immediately below "a" in the stack. Thus adding one will make the two pointers equal.
The layout of things on the stack is completely implementation-defined.
It has been a while since I read the standard, but this seems well into the realm of undefined behavior, not implementation defined.
From my understanding, how the stack is laid out is implementation-defined; attempting to actually observe this ordering in your program is undefined behavior.