> Which approach below is faster?
Generally, if you're working through a pointer, there's an extra level of indirection. Therefore, in theory, going indirectly though a pointer is slower. In reality, if the compiler doesn't optimize the difference away, it'll be infintesimally small. So you should use whatever more clearly shows your intentions.