Why is the address-of operator in C/C++ represented with the "&" symbol?
Because B did!
A user on software engineering.sx contacted Ken Thompson:

From: Ken Thompson
c copied from b so &amp; and * are same there.
b got * from earlier languages - some assembly,
bcpl and i think pl/1.
i think that i used &amp; because the name (ampersand)
sounds like &quot;address.&quot; b was designed to be run with
a teletype model 33 teletype. (5 bit baud-o code)
so the use of symbols was restricted.