博文

C99标准新特性(2007-03-20 09:37:00)

摘要:C99 在ANSI标准化后,WG14小组继续致力于改进C语言。新的标准很快推出,就是ISO9899:1999(1999年出版)。这个版本就是通常提及的C99。它被ANSI于2000年三月采用。  在C99中包括的特性有:  对编译器限制增加了,比如源程序每行要求至少支持到 4095 字节,变量名函数名的要求支持到 63 字节 (extern 要求支持到 31)  预处理增强了。例如:  宏支持取参数 #define Macro(...) VA_ARGS  使用宏的时候,参数如果不写,宏里用 #,## 这样的东西会扩展成空串。(以前会出错的)  支持 // 行注释(这个特性实际上在C89的很多编译器上已经被支持了)  增加了新关键字 restrict, inline, _Complex, _Imaginary, _Bool  支持 long long, long double _Complex, float _Complex 这样的类型  支持了不定长的数组。数组的长度就可以用变量了。声明类型的时候呢,就用 int a*? 这样的写法。不过考虑到效率和实现,这玩意并不是一个新类型。所以就不能用在全局里,或者 struct union 里面,如果你用了这样的东西,goto 语句就受限制了。  变量声明不必放在语句块的开头。  当一个类似结构的东西需要临时构造的时候,可以用 (type_name){xx,xx,xx} 这有点像 C++? 的构造函数  字符串里面,\u 支持 unicode 的字符  支持 16 进制的浮点数的描述  所以 pr......

阅读全文(3052) | 评论:0

最小生成树(2007-03-20 09:27:00)

摘要:/**********************************************************************\ 功    能:  利用Kruscal算法求 " 无向图 " 的最小生成树              输入说明:   首先输入图的顶点数 n 边数 m 接着下一行每行输入每一条边  包括起点,终点,权值 (顶点从 1 开始编号)               输出说明:   输出最小生成树的各边,包括起点,终点,权值,最后输出总  的权值。                                                调试实例:   输入文件:( 用管道调试 )    6 10    1 2 4    1 3 8    1 4 5    1 6 7    4 3 2    4 5 11    4 6 3  ......

阅读全文(4709) | 评论:0