Dari kefahaman dan kebiasaan saya menggunakan pointer, secara mudahnya boleh difahami dengan formula ni:
pVar = pVar + n*sizeof(pVar) //function sizeof() akan memberikan size dalam unit bytes
Jom kita tengok contoh
/*p/s: contoh² bukan source code yang lengkap, sekadar untuk penerangan*/
/*What is the address value that my pointer is pointing to?*/
Contoh 1
UINT32 *p_A;
p_A = 0x00;
p_A++;
bersamaan dengan
p_A = p_A + (1 * 4bytes)
p_A = 0x04;
p_A += 2;
bersamaan dengan
p_A = p_A + (2 * 4bytes);
p_A = 0x08;
Contoh 2
tydef struct{
UINT8 varA;
UINT16 varB;
}structDum;
structDum *p_varC;
p_varC = 0x00;
p_varC++;
bersamaan dengan
p_varC = p_varC + (1 * 3bytes)
p_varC = 0x03;
p_A += 3;
bersamaan dengan
p_A = p_A + (3 * 3bytes);
p_A = 0x09;