I'm currently doing MIT Opencourseware's Practical Programming in C. I'm finding pointers a little bit confusing. Here are some questions:
1)
int *pa=arr
Suppose char * pc = (char*)pa; what value of i satisfies
(int *)(pc+i)== pa + 3? [Answer:i=12]
I get that the address is 12 bits down because each int is 4 bits. But other than that I don't understand much. What's difference does it make inclosing char* in parenthesis?. If someone could example what each equation means I'd greatly appreciate it.
2) What's the difference between *pointername and pointername?
Thanks!