Para almacenar en un array la direccion de un struct puedes hacerlo con punteros:
Espero que te ayude.
Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;
struct map{
int mapa[3];
};
struct cam{
char nombre[20];
};
int main(){
cam nom[3];
cam *array = new cam[3]; //Declaracion e incializacion del puntero
cin >> nom[0].nombre;
cout << nom[0].nombre << endl;
array[0] = nom[0]; //Asignacion
cout << array[0].nombre ; //mostrando el nombre de la direccion del array[0]
return 0;
}
Espero que te ayude.