Is a declaration an expression?
===

I'd to know if, in the following declaration, `p` is an lvalue, i.e. is `p` an expression in this declaration ? (if the answer is "yes", it is an lvalue because `p` changes the value of the object located at `&p` with the value `&n`).

    unsigned char *p = &n;

