They both are resulting in same address but they are different types of addresses.
Basically, “array” is a “pointer to the first element of array” but “&array” is a “pointer to whole array of 5 int”.
Example:
int array[5];
cout << "array = " << array << " : &array = " << &array << endl;
cout << "array + 1 = " << array + 1 << " : &array + 1 = " << &array + 1;
// output:
// array = 0x7ffc6ab5daa0 : &array = 0x7ffc6ab5daa0
// array + 1 = 0x7ffc6ab5daa4 : &array + 1 = 0x7ffc6ab5dab4
标签:int,but,between,array,Difference,pointer
From: https://www.cnblogs.com/shendaw/p/17085095.html