《The C programming language》读书笔记

虽然以前大学学的第一门编程语言是C,但年代久远难免忘得差不多了,这2天抽时间读了遍《The C programming language》,以Java程序员的视角提炼了一下几个要注意的点:

  1. 函数体如果定义在调用者后,需要使用函数原型声明,并且函数原型中只需要参数类型,参数名是可以省略的。
  2. 外部变量必须在所有函数外部定义,且只能定义一次,使用时使用extern语句显示指明。
  3. 枚举enum第一个枚举名的值为0,第二个为1等等。如果不是所有值都指定了,那么未指定名字的值依着最后一个指定值向后递增。
  4. C语言具有指向函数的指针,如下函数原型声明例子所示:void qsort(void *lineptr[], int left, int right, int (*comp)(void *, void *));
  5. C提供一个类型定义(typedef)功能,用来建立新的数据类型的名字。例如语句:typedef int Length;使得名字Length成为int的同义词。
  6. 联合(union)也是一种结构,只不过是其所有成员相对于基地址的偏移量为0,结构空间要大到能容纳“最宽”的成员,并且对齐方式适合于联合中的所有成员。一个联合只能用它第一个成员类型的值来初始化。
文章作者: Kevin Wu
文章链接: https://kevinwu.cn/p/a3c26d84/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 KevinWu的博客
支付宝打赏