С помощью операции new можно создать динамический массив структур:
struct Point {
float x, y;
};
int n; cin>>n; Point * uk = new Point [n];
Переменной-указателю uk присваивается адрес начала массива структур. Доступ к полям i -й структуры осуществляется следующим образом:
for(int i = 0; i < n; i++){ //Ввод координат n точек
in>>uk->x>>uk->y; uk++; // или cin>>uk[i].x >>uk[i].y;
}
Ссылка на структуру
Для структур, как и для простых переменных, можно использовать ссылочный тип. Например:
Point pp; Point & spp = pp;
После такого объявления spp и pp – это два синонимa одной и той же переменной структурного типа Point (структурный тип Point определён выше). Поэтому если изменить поле x или y структуры pp, то изменится соответствующее поле структуры spp.