Coating by zinc is better to protect metal from corrosion. This is because, on coating the metal by zinc, it acts as physical barrier and protects the metal from environment. If the coating breaks form some point, then zinc and metal acts a cell, where zinc plays a role of sacrificial anode. Thus it further protects from corrosion. Outer portion of zinc coating reacts with oxygen, moisture and carbon dioxide to form zinc carbonate. This zinc carbonate adheres to zinc surface very strongly and protects the inner metal from corrosion.