Адрес первого элемента массива совпадает с адресом самого массива.
За исключением случаев, когда это операнд операторов sizeof
или address-of &
или строковый литерал, используемый для инициализации другого массива в объявлении, выражение типа "массив N-элементов"T "будет неявно преобразован (" распад ") в тип" указатель на T ", а значение будет адрес первого элемента в массиве.
Если выражение a
имеет тип "N-элементный массив T", то выражение &a
является типом "указатель на N-элементный массив T" или T (*)[N]
.
Учитывая объявление
T a[N];
, тогда выполняются все следующие условия:
Expression Type Decays to
---------- ---- ---------
a T [N] T *
&a T (*)[N] n/a
*a T n/a
Выражения a
и &a
оба имеют одинаковые значения значение (расположение первого элемента в массиве), но имеет разные типы (указатель на T и указатель на массив T соответственно).