You could have some sort of list of bullets, and remove them from the list once they've collided with something or gone off-screen.
If you want to limit how quickly you can fire (so you can't fire 3 shots in 0.05 seconds, you might have a timer somewhere (e.g. inside the player).
Decrement the timer with the frame duration every tick, and only allow the player to shoot if the timer isn't already running. Then when you shoot, set the timer running.
You could also have a combination of the two -- you can only have x bullets active at the same time, and they have to be fired with at least y delay.