Учитывая заданный пользователем тип A и указатель A* a, в чем разница между *a и a[0]?
(Хотя *(a+0)/a[0] определены как эквивалентные, то же самое не относится к *a/a[0], где тонкая разница может привести к ошибке компиляции при определенных обстоятельствах.)