C 99 vs. ANSI CΒΆ
For further information refer to http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
- Restricted pointers: http://gcc.gnu.org/onlinedocs/gcc/Restricted-Pointers.html
- Variable-length arrays: http://gcc.gnu.org/onlinedocs/gcc/Variable-Length.html
- Flexible array members: http://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
- staticand type qualifiers in parameter array declarators.
- long long inttype:http://gcc.gnu.org/onlinedocs/gcc/Long-Long.html
- Additional floating-point characteristics in <float.h>.
- Removed implicit int.
- Reliable integer division.
- Universal character names (\\uand\\U).
- Compound literals:http://gcc.gnu.org/onlinedocs/gcc/Compound-Literals.html
- Non-constant initializers:http://gcc.gnu.org/onlinedocs/gcc/Initializers.html
- Designated initializers:http://gcc.gnu.org/onlinedocs/gcc/Designated-Inits.html
- // comments:http://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Comments.html
- Extended integer types and library functions in <inttypes.h>and<stdint.h>.
- Removed implicit function declaration.
- Preprocessor arithmetic done in intmax_t/uintmax_t.
- Mixed declarations and code:http://gcc.gnu.org/onlinedocs/gcc/Mixed-Declarations.html
- New block scopes for selection and iteration statements.
- Integer constant type rules.
- Integer promotion rules.
- Macros with a variable number of arguments.
- The vscanf family of functions in <stdio.h>and<wchar.h>.
- Additional math library functions in <math.h>.
- Floating-point environment access in:code:<fenv.h>.
- IEC 60559 (also known as IEC 559 or IEEE arithmetic) support.
- Trailing comma allowed in enumdeclaration.
- %lfconversion specifier allowed in- printf.
- Inline functions.
- The snprintf family of functions in <stdio.h>.
- Boolean type in <stdbool.h>.
- Empty macro arguments.
- New struct type compatibility rules (tag compatibility).
- Additional predefined macro names.
- _Pramapreprocessing operator.
- Standard pragmas.
- __func__predefined identifier.
- va_copymacro.
- Additional strftimeconversion specifiers.
- Deprecate ungetcat the beginning of a binary file.
- Removed deprecation of aliased array parameters.
- Conversion of array to pointer not limited to values.
- Relaxed constraints on aggregate and union initialization.
- returnwithout expression not permitted in function that returns a value (and vice versa).
