1)Never ever forget to initialize the pointer. This may be simple and easy known stuff but here I would like to add it as an embedded system developer that this was the main cause of many bugs.
2) Also never change the pointer variable itself unless & until you need to change the pointer.
3) Also monitor that the pointers are not overlapping if not pointing to same memory location range.