Esto no es un lugar donde poner lo que necesitas y que te den el programa completo...
Coloca tus avances (entre etiquetas de Código GeSHi) y el problema del que no puedas salir y es probable que alguien te ayude. En cambio si te limitas a pedir sin esforzarte, esta va a ser la mejor respuesta que vas a obtener...
EDIT: En C no existen las estructuras de datos como sí pasa con C++ por lo que tienes que implementarlas tú. En internet puedes encontrar muchas implementaciones de colas, listas, pilas, etc en C.
Para empezar tienes que crear lo que sería un Nodo (un elemento de la estructura) que suele estar formado por los datos a almacenar y un puntero a otro elemento.
struct Nodo {
Pasajero *pasajero; // puntero a los datos de un pasajero
struct Nodo *siguiente; // puntero al siguiente Nodo de la estructura
};
Y ahora puedes crear la estructura en sí:
struct Cola {
struct Nodo *inicio;
};
Para crear una lista la puedes hacer simple, es decir, con un único puntero hacia delante o doble (con uno hacia atrás y otro hacia delante). Todos estos detalles dependen de tu implementación y como te digo, en Internet hay muchos ejemplos de este tipo de estructuras.