I’ve come across a bit of code that contains a couple code blocks, delineated with curly braces {}. There is no line before the code blocks marking them as part of if statements, function definitions, or anything else. Just a code block floating in the middle of a function. Is there any meaning to this? gcc seems perfectly happy going through the code; I can only imagine it is some way to allow the original coder to split up blocks of functionality visually…
I’ve come across a bit of code that contains a couple code blocks, delineated
Share
It creates a scope. Are there automatic variables defined inside the blocks? If so, then the scope of those variables is confined to the block. It’s useful for temporary variables that you don’t want polluting the rest of the function, and it’s also useful when writing C89, where variable definitions must be at the start of a block.
So, instead of:
You could have:
Obviously if you’re doing this, you also have to ask yourself if the blocks wouldn’t be better off as separate functions.