C99扩展特性
来源:互联网 发布:淘宝游戏物品交易平台 编辑:程序博客网 时间:2024/05/22 11:43
Some features that are in ISO C99 but not C89 or C++ are also, as extensions, accepted by GCC in C89 mode and in C++.
5.1 Statements and Declarations in Expressions Putting statements and declarations inside expressions.
5.2 Locally Declared Labels Labels local to a statement-expression.
5.3 Labels as Values Getting pointers to labels, and computed gotos.
5.4 Nested Functions As in Algol and Pascal, lexical scoping of functions.
5.5 Constructing Function Calls Dispatching a call to another function.
5.6 Naming an Expression's Type Giving a name to the type of some expression.
5.7 Referring to a Type with typeof typeof: referring to the type of an expression.
5.8 Generalized Lvalues Using `?:', `,' and casts in lvalues.
5.9 Conditionals with Omitted Operands Omitting the middle operand of a `?:' expression.
5.10 Double-Word Integers Double-word integers---long long int.
5.11 Complex Numbers Data types for complex numbers.
5.12 Hex Floats Hexadecimal floating-point constants.
5.13 Arrays of Length Zero Zero-length arrays.
5.14 Arrays of Variable Length Arrays whose length is computed at run time.
5.15 Macros with a Variable Number of Arguments. Macros with a variable number of arguments.
5.16 Slightly Looser Rules for Escaped Newlines Slightly looser rules for escaped newlines.
5.17 String Literals with Embedded Newlines String literals with embedded newlines.
5.18 Non-Lvalue Arrays May Have Subscripts Any array can be subscripted, even if not an lvalue.
5.19 Arithmetic on void- and Function-Pointers Arithmetic on void-pointers and function pointers.
5.20 Non-Constant Initializers Non-constant initializers.
5.21 Compound Literals Compound literals give structures, unions or arrays as values.
5.22 Designated Initializers Labeling elements of initializers.
5.24 Cast to a Union Type Casting to union type from any member of the union.
5.23 Case Ranges `case 1 ... 9' and such.
5.25 Mixed Declarations and Code Mixing declarations and code.
5.26 Declaring Attributes of Functions Declaring that functions have no side effects, or that they can never return.
5.27 Attribute Syntax Formal syntax for attributes.
5.28 Prototypes and Old-Style Function Definitions Prototype declarations and old-style definitions.
5.29 C++ Style Comments C++ comments are recognized.
5.30 Dollar Signs in Identifier Names Dollar sign is allowed in identifiers.
5.31 The Character ESC in Constants `/e' stands for the character ESC.
5.33 Specifying Attributes of Variables Specifying attributes of variables.
5.34 Specifying Attributes of Types Specifying attributes of types.
5.32 Inquiring on Alignment of Types or Variables Inquiring about the alignment of a type or variable.
5.35 An Inline Function is As Fast As a Macro Defining inline functions (as fast as macros).
5.36 Assembler Instructions with C Expression Operands Assembler instructions with C expressions as operands.
(With them you can define "built-in" functions.)
5.37 Controlling Names Used in Assembler Code Specifying the assembler name to use for a C symbol.
5.38 Variables in Specified Registers Defining variables residing in specified registers.
5.39 Alternate Keywords __const__, __asm__, etc., for header files.
5.40 Incomplete enum Types enum foo;, with details to follow.
5.41 Function Names as Strings Printable strings which are the name of the current function.
5.42 Getting the Return or Frame Address of a Function Getting the return or frame address of a function.
5.43 Other built-in functions provided by GCC Other built-in functions.
- C99扩展特性
- C99标准特性
- C99新特性
- C99特性简述
- C99标准新特性
- C99新特性(1)
- C99新特性(3)
- C99的新特性
- C99标准新特性
- C99的新特性
- C99新特性
- C99的新特性
- C99新特性
- C99 标准新特性
- c99新特性
- C99 的语言新特性
- C99标准的新特性
- C99标准的新特性
- PB如何使用Microsoft VSS2005进行协同工作
- Java学习的30个目标
- 2.3 网络层的安全威胁
- JAVA的系统变量
- DataGruid经典技巧及属性和方法介绍
- C99扩展特性
- SQL查询语句精华
- 无聊的日子
- 像WEB一样的树形导航RCP
- oracle9i 开始学习中的问题,winxp系统
- 模式匹配的KMP算法详解
- VC常用数据类型使用转换
- C++ 效率
- java正则表达式