The goto statement is an immediate and unconditional transfer of program execution to the specified label within a function block. goto causes execution to jump to the label. In current C, unlike the bad old days, goto may not jump out of a function block, and so it may neither jump out of one function into the middle of another nor out of one program into another program (neither were uncommon in those days).
The goto statement consists of two parts. First, there must be a label declared either as a standalone statement, as follows—label_identifier :—or as a prefix to any other statement, like so: label_identifier : statement.
And secondly, there must be the gotostatement to that label_identifier. The syntax for the goto statement is as follows:
goto label_identifier;
The reason for thegoto statement being shunned comes from the bad old days...