Next: for
Statement, Previous: do-while
Statement, Up: Loop
Statements
Contents
The break
statement looks like 'break;
'. Its effect is to
exit immediately from the innermost loop construct or switch
statement
(see switch
Statement).
For example, this loop advances p
until the next null character or
newline.
while (*p)
{
/* End loop if we have reached a newline. */
if (*p == '\n')
break;
p++
}
When there are nested loops, the break
statement exits from the
innermost loop containing it.
struct list_if_tuples
{
struct list_if_tuples next;
int length;
data *contents;
};
void
process_all_elements (struct list_if_tuples *list)
{
while (list)
{
/* Process all the elements in this node’s vector,
stopping when we reach one that is null. */
for (i = 0; i < list->length; i++
{
/* Null element terminates this node’s vector. */
if (list->contents[i] == NULL)
/* Exit the for loop. */
break;
/* Operate on the next element. */
process_element (list->contents[i]);
}
list = list->next;
}
}
The only way in C to exit from an outer loop is with goto
(see goto
Statement and Labels).