i have read many about pointers and understood very good. but still there are some confusing thinks. please help to understand.
1) int a;
why *&a doesn't give the first value of array? instead it gives the address. isn't *&a and *a same?
2) int a[n][m], (*p)[n];
for (p = a; p < a[n]; p++) in this case it gives warning "assignment from incompatible pointer type" but it compiles and gives the right answer. if you put address operator before a there will not be problem. why? aren't they same?