 <p>First implementation i.e. the array implementation is correct and preferred. But it depends on the programmer. Best practice is not to change/alter the pointer i.e. starting/base address should be preserved, should not be incremented or decremented. </p>