Arrays and pointers are not interchangeable in general
•int array[10];
•int *pElement;
•
•pElement = &array[1];  // pointer to 2nd element
•pElement = &array[2];  // pointer to 3rd element
•
•array = &array[1];     // error: cannot convert from 'int *' to 'int [10]‘
•
•Why?
•
•‘array’ is r-value, compile time-constant, doesn’t have it’s own address
•pElement is l-value, it’s a pointer and it has it’s own address
•
•pElement = array;    // OK