Идентификатор Table объявлен как имеющий тип массива
A Table[10];
Таким образом, чтобы получить доступ к элементу, вы должны указать его индекс, чтобы использовать арифметику указателя c.
d_root = Table[5].b;
или
d_root = ( Table + 5 )->b;
или
d_root = ( *( Table + 5 ) ).b;
В свою очередь, если указатель b
указывает на динамически распределенный массив, то для выбора нужного элемента вы можно записать
d_root = Table[5].b[i];
или
d_root = ( Table + 5 )->b[i];
или
d_root = ( *( Table + 5 ) ).b[i];
, где i
- это индекс в динамически распределенном массиве, на который указывает указатель b
.
Чтобы получить доступ к элементу данных объекта, на который указывает указатель b
, вы можете написать, например,
int x = Table[5].b[i].x;
или
int x = ( Table + 5 )->b->x;