C/C++ Programmer's Guide (G06.27+, H06.08+, J06.03+)

Digraph Characters
Digraph characters (two-character sequences that represent a single character) can be used to
represent the characters shown in the following table:
Equivalent DigraphCharacter
<:[
:>]
<%{
%>}
%:#
%:%:##
The digraphs enable you to enter characters that are not allowed in certain rare circumstances.
[6.4.6, Punctuators]
Example
iarr<:10:>
is equivalent to
iarr[10]
Comments
The characters // can be used to introduce a comment. The comment begins with the // and
terminates at the end of the line. [6.4.9, Comments]
Example
/* This is a comment */
//And now so is this!
Implicit Function Declarations Not Allowed
Implicit function declaration is not allowed: every function must be explicitly declared before it can
be called. Previously, implicit function declaration was allowed and caused the compiler to generate
a warning message. Implicit function declaration now generates an error. [6.7.5.3, Function
declarators]
Example
int main(void) {
foo(); //error! not declared
.
.
.
}
Designated Initialization for Structures
Aggregate initialization is enhanced to allow designators that initialize the components of an array
or struct.
Example
typedef struct div_t {
int quot;
int rem;
} div_t;
div_t answer = {.quot = 2, .rem = -1};
458 c99 Selected Features (C99LITE)