When I execute the following code:
int main()
{
char **temp;
printf("Size of **temp %d", sizeof(**temp));
printf("Size of *temp %d", sizeof(*temp));
printf("Size of temp %d", sizeof(temp));
return 0;
}
I get:
Size of **temp 1
Size of *temp 8
Size of temp 8
What I don't understand is how does a char
pointer have a size of 8
? Is it machine independent?