If addr is already a pointer, why do you keep doing &addr?