When someone sends funds he knows the address of the recipient. Is it the same for the one receiving the transaction?
As has been said, the recipient can not know the address of the spender. This is due to (a) the use of stealth addresses, and (b) the use of ring signatures.
(a) The output being spent is owned by the sender's wallet, but unlike, say, Bitcoin, it is not related to their public address (without a secret key).
(b) The output being spent is seen by the recipient, but the recipient is shown 10 other outputs as well, and any one of them could be the output that was actually spent.
It's worth noting that not even the sender knows where they sent Monero if their wallet cache is destroyed. If the sender fails to back up their wallet and it gets destroyed and they must restore it from their seed, they will not know the addresses used to produce their prior 'spend' transactions.