Next: if Statement, Up: Statements [Contents][Index]
The most common kind of statement in C is an expression statement. It consists of an expression followed by a semicolon. The expression’s value is discarded, so the expressions that are useful are those that have side effects: assignment expressions, increment and decrement expressions, and function calls. Here are examples of expression statements:
x = 5; /* Assignment expression. */ p++; /* Increment expression. */ printf ("Done\n"); /* Function call expression. */ *p; /* CauseSIGSEGV
signal ifp
is null. */ x + y; /* Useless statement without effect. */
In very unusual circumstances we use an expression statement whose purpose is to get a fault if an address is invalid:
volatile char *p;
…
*p; /* Cause signal if p
is null. */
If the target of p
is not declared volatile
, the
compiler might optimize away the memory access, since it knows that
the value isn’t really used. See volatile.