From my (limited) experience - using indexes instead of pointers has additional advantage - it makes it super easy to serialize/deserialize arbitrary graphs of objects.
Save game if you use index for referencing objects = one fwrite call.
Save game if you use pointers = a lot of pain.