Hello Irfan
In your scenario, host A and host C are in different network segments, and are thus on different subnets. Remember that ARP is used to populate the destination address field of the Ethernet frame with the MAC address of the very next hop. That next hop may be the destination host, or it may be the local default gateway.
So when Host A sends an ARP request, it will first check to see if the IP address of Host C is on the same subnet. In your scenario, it is not, so then the ARP request will be for the MAC address of the configured default gateway, which is Router B. So for that particular communication, from Host A to Router B, the destination MAC address is that of Router B.
When Router B routes that packet and encapsulates it, it will send an ARP request on the subnet where Host C resides. Host C will respond, and Router B will place in the Ethernet header the destination MAC of Host C.
So ARP takes place for each “communication leg” requesting the MAC address of the very next hop, and not of the ultimate destination.
There are cases where a router may relay the MAC address of a particular host from one subnet to another, and that’s called Proxy ARP. For more information about that, take a look at this lesson:
I hope this has been helpful!
Laz