break Statement (GNU C Language Manual)

Next: , Previous: , Up: Loop Statements [Contents][Index]


19.6.3 break Statement

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).

AltStyle によって変換されたページ (->オリジナル) /