What is ARP?
The protocol that helps a host fetch the MAC address of some other host, whose IP address is already known.
How does a host use ARP?
Since IP address is already known; first the host uses the Subnet Mask to determine if the other host is in the same network. If yes, broadcast to all. If no, send it to the gateway.
(Options A and B eliminated)
How to broadcast? The simple logic is to do so via MAC address; because that's the address the hosts in the same subnet use to communicate with each other. IP address is used for hosts of different subnets (or networks).
We don't know the target MAC address, so in that field pul all 1's. Hence, Option C
If we consider Option D true, then the target host would never know the intended packet is for it. Because it won't have it's IP or MAC address.