Оба оператора выводят адреса и, вероятно, предназначены для объяснения арифметики указателей.
a
и &a
НЕ являются одинаковыми, они имеют разные типы, но содержат один и тот же адрес памяти.
&a
имеет тип int (*)[10]
(который действует как указатель на массив)
a
имеет тип int [10]
(который действует как указатель на один элемент)
Поэтому, когда вы добавляете 1, помните об этих типах. Указатель будет смещен на размер типа, который содержит адрес. a+1
смещается на размер типа int, то есть на второй элемент в массиве. &a+1
смещает полностью за весь массив.