You still need to make sure you're not leaking memory. When you call al_load_bitmap(), you load a bitmap into video memory. So every single time you call this function, you absolutely MUST place the result into an empty pointer. If you don't:
1. The memory will be wasted and future calls to al_load_bitmap() may fail if memory is exhausted.
2. If the pointer you load to already has a bitmap in it, you'll lose access to that bitmap, again leaking memory and potentially running out if you keep doing this.
Remember, a "pointer" simply points to an object in memory, it isn't itself the actual memory being used. If you forget the contents of a pointer, or fail to store one that's created, then the memory it points to will be inaccessible by ANYTHING for the duration of your application, and if you do this enough times, you will eventually have no memory left.