Where setup() is the preparation, loop() is the execution. Both functions are required for the program to work.
The setup function should follow the declaration of any variables at the very beginning of the program. It is the first function to run in the program, is run only once, and is used to set pinMode or initialize serial communication.
The loop function follows next and includes the code to be executed continuously – reading inputs, triggering outputs, etc. This function is the core of all Arduino programs and does the bulk of the work.
So this is the primitive or basic structure of an Arduino Program.