That totally clarifies the question. Then how is the pointer scan doing this? I thought it does a similar thing where I scan for an initial value at an address, then when I scan for a new value, it scans for the new value among the previous addresses? Is pointer-scan not address-dependent? Thank you to all you guys for spending your valuable time helping noobs like me.