C专家编程读书笔记(下)

文章作者 100test 发表时间 2007:03:10 17:16:53
来源 100Test.Com百考试题网


1、早用lint,勤用lint,不要等到最后才用lint。lint是软件的道德标准

2、关于typedef。
先看一个声明:void (*signal(int sig, void (*func)(int))) (int).
对于它,可以简化为:
typedef void (*ptr_to_func) (int)
ptr_to_func signal(int, ptr_to_func)
对于像以上那个复杂的typedef声明,你大可不必深入的去记忆、研究,只需要把它替代,化简为一个声明,那意义就豁然开朗了。
注意:
①不要在一个typedef中放入几个声明器;
②千万不要把typedef嵌到声明中间部分。
typedef与define的区别:
①可以用其他类型说明符对宏类型名进行扩展,但对typedef所定义的类型名却不能这样做。
②在连续声明中,用typedef定义的类型能够保证声明中所有的变量均为同一种类型,而用#define定义的类型则无法保证。

3、数组与指针并不相同,某些情况下,他俩是一样的,不过也存在情况,他俩不一样例如:
文件1: int mango[100].
文件2: extern int * mango.
这是不同的,相当于把整数和浮点数混为一谈。

4、Turning实验,人工智能,人机对话,都是十分有意思的东西。

5、堆区域用于动态分配的存储,也就是通过malloc(内存分配)函数获得的内存,并通过指针访问。堆中所有东西都是匿名的————不能按名字直接访问,只能通过指针间接访问。
被分配的内存总是经过对齐,以适合及其最大尺寸的原子访问。
堆的末端由一个称为break的指针来标识。当堆 管理 器需要更多内存时,它可以通过系统调用brk和sbrk来移动指针。一般情况下,不必自己显示调用brk,如果分配的内存容量很大,brk最终会被自动调用。

相关文章


c_c 深入探讨数组内存模型
数据库系统2-6:关系运算的安全性
C专家编程读书笔记(下)
数据库系统2-5:域关系演算
C专家编程读书笔记(上)
数据库系统2-4:专门关系运算
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛