iHigh vs CopyHigh?

Hi,
For simply obtaining a previous candle’s highest value, is there any advantage of using iHigh() vs CopyHigh()? Thanks.

e.g.
ArraySetAsSeries(HighArray,true);
CopyHigh(_Symbol,0,0,2,HighArray);
printf(HighArray[0])

vs

printf(iHigh(_Symbol,PERIOD_H1,0));