Why to avoid goto in C
C has goto statement but one must ensure not to use too much of goto statement in their program because its functionality is limited and it is only recommended as a last resort if structured solutions are much more complicated.
First let us understand the goto statement, its syntax and functionality.
The goto is a unconditional branching statement used to transfer control of the program from one statement to another.
Syntax of goto statement is:
Here in goto,
name1 mentioned identifies the place where the branch is to be made.
name1 is a valid variable name followed by a colon.
name1 is placed immediately before the statement where the control is to be transformed.
A program may contain several goto statements. The names mentioned in goto must be unique for branching.
Control can be transferred out of or within a compound statement and control can be transferred to the beginning of a compound statement. However the control cannot be transferred into a compound statement.
One must take care not to use too much of goto statements in their program or in other words use it only when needed. This is because C being a highly structured language one must take care not to use too much of these unconditional goto branching statements. The goto statement is discouraged in C, because it alters the sequential flow of logic that is the characteristic of C language. This word is redundant in C and encourages poor programming style.