Difference between what and what else?
But at a guess, maybe this helps: a declaration like
is an array declaration, which means that room for 20 integers is set aside and called "a". The name a, by itself, would refer to the start of the array.Code:int a[20];
The code
is a pointer declaration, which means that room for a memory address is set aside and called "b". b doesn't point to anywhere in particular, which means that b must not be used until we point it somewhere. We can later, using new, set aside room for some integers, and then assign b to that memory address. Then b[0] will refer to the beginning of that memory, and b[1] will refer to the next "spot", and so on.Code:int *b;