Hacker News new | ask | show | jobs
by JoshTriplett 4797 days ago
It absolutely does return a memory address; it even has the type of a memory address ("int *"). You just can't write to it because it doesn't live in a writable location (an lvalue), for the same reason you can't write:

    (x + 1) = 12
because (x+1) doesn't live in a writable location.