It simply uses the local integer pointer type (typically 64-bit integers on 64-bit platforms) to store the indices.  In Python, all NumPy array objects are essentially pointers, so you never get a copy unless you ask for it.