The left curly brackets ( { ) defines where a block of code starts and the right curly bracket ( } ) defines where it ends. We saw these brackets when we looked at the setup() and loop() functions; however, curly brackets are not limited to defining the code within a function they are also used to define other blocks of code as well. We will see examples of this in the Decision making and Looping sections of this chapter.
Whenever there is a left curly bracket there must also be a right curly bracket. We say that the curly brackets are balanced when we have an equal number of left and right curly brackets. Unbalanced curly brackets can lead to crypt compiler errors. If you are receiving very crypt and hard to understand compiler errors, you may want to begin your troubleshooting by verifying that the curly brackets are balanced.
Now let's look at semicolons...