如何比較固定大小的char數組中的兩個內存地址?可以說我有兩個指針,每個指向數組在不同的存儲位置:比較內存地址
char *ptr1; //points to a memory address in the array;
char *ptr2; //points to another memory address in the array;
如果我這樣做printf("%p\n%p\n", ptr1, ptr2);
然後將打印內存地址爲十六進制。
output:
0x601240
0x601274
我如何將存儲到這些變量,它們是可比的,這樣我可以告訴它的內存地址是第一位在數組中。
另一個問題: 如果我做的%d打印內存地址,我收到%P代替:
output:
6296128
6296180
是這些有效的內存地址,以及(我的意思是這樣的安全使用)?
如果我知道內存地址停在0x700000(爲了爭辯),我想檢查指針是否指向允許的範圍之外? 'if(ptr1> 0x700000)返回-1;'有效? – mfloris