Re:Are pointers and arrays equivalent in C? (2009)
by kazinator on Saturday March 21, 2015 @01:39PM
(#9243478)
The first element of an array is located at the address of an array. Even if the pointer-to-array and pointer-to-element types have different size and representation, they point to the same place. The resulting pointer-to-void converted values must point to that place, and have the same type.
This relationship is also true between a pointer to a struct and a pointer to the first element. And also among pointers to the elements of a union.
You probably though of:
which is always true.This:
which simplifies to: is not.C doesn't guarantee that the values of &array and array are the same. The types T( * )[ * ] and T* are not even compatible and those two pointers are allowed to have different sizes and representation.