Pues tienes dos formas. O reservas espacio para las cadenas url en la estructura url[256] o lo asignas dinámicamente y lo liberas al desapilar.
Por supuento, entonces, el almacenaje de las cadenas lo harás con un strcpy, y no con una asignación de puntero.
Si en lugar de usar C, usas C++ es mas fácil el uso de los operadores new y delete.
Saludos.