##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# for loop

From cppreference.com
< c‎ | language

Executes a loop.

Used as a shorter equivalent of while loop.

### [edit] Syntax

`for (` init_expression `;` cond_expression `;` iteration_expression `)` loop_statement |  |

### [edit] Explanation

Unless there are any continue statements, the above syntax produces code equivalent to:

`{` init_expression `;` `while (` cond_exression `) {` loop_statement iteration_expression `;` `}` `}` |  |

The init_expression is executed before the execution of the loop. The cond_expression shall evaluate to value, convertible to bool. It is evaluated before each iteration of the loop. The loop continues only if its value is true. The loop_statement is executed on each iteration, after which iteration_expression is executed.

If the execution of the loop needs to be terminated at some point, break statement can be used as terminating statement.

If the execution of the loop needs to be continued at the end of the loop body, continue statement can be used as shortcut. When there are `continue`s in the loop body (loop_statement), then each `continue` passes control to the iteration_expression instead of passing to the next iteration. This way, at each iteration iteration_expression is guaranteed to be executed (unless we `break` out of the loop).

### [edit] Keywords

`for`

### [edit] Example

The following example demonstrates the usage of the for loop in an array manipulation

Run this code

    #include <stdio.h>
    #include <stdlib.h>

    #define SIZE 8

    int main (int argc, char **argv)
    {
        unsigned i = 0, array [SIZE];

        for( ; i < SIZE; ++i)
            array [i] = random() % 2;

        printf("Array filled!\n");

        for (i = 0; i < SIZE; ++i)
            printf("%d ", array[i]);

        printf("\n");

        return EXIT_SUCCESS;
    }

Output:

    Array filled!
    1 0 1 1 1 1 0 0

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=c/language/for&oldid=48935"