body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gray; border-width: 2px 0 2px 0;} th{border: 1px solid gray; padding: 4px; background-color: #DDD;} td{border: 1px solid gray; padding: 4px;} tr:nth-chil…
c89 c99 注: GCC支持C99, 通过 --std=c99 命令行参数开启,如: 代码:gcc --std=c99 test.c -------------------------------------------------------------------------------------------------- 1.增加restrict指针 C99中增加了公适用于指针的restrict类型修饰符,它是初始访问指针所指对象的惟一途径,因此只有借助restrict指针表达式才能…
参考:<C Primer Plus>,Stephen Prata著,姜佑译. ANSI/ISO C标准 美国ANSI成立委员会X3J11,于89/90年,99年,11年,发布C标准:C89/C90,C99,C11. ANSI/ISO 各版本C标准 C标准 描述 经典C 也称K&R C,87年K&R著作<C语言程序设计>,成为C指导标准 C89/C90 89年ANSI C,90年ISO C,定义了C语言和C标准库.X3J11开发,同一套标准,发布名称/机构不同. 用意…
本文转载自: C89和C99标准比较  原文转载自: http://blog.programfan.com/article.asp?id=14051  http://blog.csdn.net/xgbing/article/details/2341941 注: GCC支持C99, 通过 --std=c99 命令行参数开启,如: gcc --std=c99 test.c Technorati 标签: C 标准 --------------------------------------------…
运算式 -8 / 5 = -1.6,在C89中取值为 -1 或 -2,C99的出现,CPU对除法的结果向零取整,上述运算式结果为 -1. 在C89和C99中都要确保 (a / b) * b + a % b = a 已知在C89中 -8 / 5 运算结果为 -1 或 -2,根据公式,-8 % 5 运算结果为 -3 或 2 在C99中 -8 / 5 结果位 -1,那么 -8 % 5 j结果为-3.…
C语言最初由 Dennis Ritchie 于 1969 年到 1973 年在 AT&T 贝尔实验室里开发出来,主要用于重新实现 Unix 操作系统.此时,C语言又被称为 K&R C.其中,K 表示 Kernighan 的首字母,而 R 则是 Ritchie 的首字母. K&R C语言与后来标准化的C语言有很大差异,比如: 如果函数返回类型为 int,则 int 可省: int my_function(){ } 也可以写成 my_function(){ } 编译器不会有任何警告,更…
before anything.. sizeof is an operand!  sizeof is an operand! sizeof is an operand! 重要なことは三回にしませんね! int *ptr; sizeof *ptr; = sizeof (int); --------------the following are the original text------------------ compile in some standard by: -ansi,-std=c9…
1) 最初的 ANSI C 标准 (X3.159-1989) 在 1989 年被批准,并于 1990 年发布.稍后这个标准被接受为 ISO 标准 (ISO/IEC 9899:1990) .虽然 ISO 标准将 ANSI 标准的某些章节重新编号并变为条款,但是两者实际上并无区别.不论是 ANSI 标准还是 ISO 标准,通常都称之为 C89 ,偶尔也因为发布日期而被叫做 C90 . ANSI 标准 ( 非 ISO 标准 ) 同时附带了 rationale 文档.可以使用 -ansi , -std=…
(1)对数组的增强 可变长数组 C99中,程序员声明数组时,数组的维数可以由任一有效的整型表达式确定,包括只在运行时才能确定其值的表达式,这类数组就叫做可变长数组,但是只有局部数组才可以是变长的.可变长数组的维数在数组生存期内是不变的,也就是说,可变长数组不是动态的.可以变化的只是数组的大小.可以使用*来定义不确定长的可变长数组. 数组声明中的类型修饰符 在C99中,如果需要使用数组作为函数变元,可以在数组声明的方括号内使用static关键字,这相当于告诉编译程序,变元所指向的数组将至少包含指定…
//本文转自:http://www.360doc.com/content/10/0324/18/2633_20101093.shtml 注: GCC支持C99, 通过 --std=c99 命令行参数开启,如: 代码:gcc --std=c99 test.c-------------------------------------------------------------------------------------------------- 1.增加restrict指针 C99中增加了公…