Assume the following example:
uint8 myArr[4] = {0, 1, 2, 3};
uint8* ptr_a, ptr_b, ptr_c, ptr_test;
uint8** ptrptr_c;
void main(void)
{
ptr_a = &myArr[4]; // Address of myArr
ptr_b = myArr; // Address of myArr
ptr_c = &myArr; // --> Address of myArr again?! <---
ptrptr_c = &myArr; // --> Address of myArr again?! <--
ptr_test = &ptr_a // Address of ptr_a (whose content points to myArr)
}
That ptr_a
and ptr_b
contain the address of myArr
is perfectly clear to me.
But I would've actually assumed, that ptr_c
would contain some kind of address where the address of myArr
is stored (analogue to ptr_test
).
So, why does ptr_c
(or ptrptr_c
) contain the address of myArr
?