Yes, attendees can register for your events before attending. But, you need to enable this option when you create the event. Just turn on the registration option and there you can setup registration fields. You are all set to receive registrations from attendees.