《C语言深度解剖》

来源:互联网 发布:unity3d摄像机自动缩放 编辑:程序博客网 时间:2024/05/16 03:49

资料下载:http://download.csdn.net/detail/klcf0220/5341628

关键字:

  1. C 语言关键字有32 个之多。sizeof 是关键字,不是函数。
  2. else始终与同一括号内最近的未匹配的if 语句结合。
  3. case 后面只能是整型或字符型的常量或常量表达式。
  4. 无论在C 还是C++中,若函数不接受任何参数,一定要指明参数为void。
  5. 结构体为空的大小为 1,而不是 0;

符号:

  1. 左移和右移的位数不能大于数据的长度,不能小于0。
  2. 每一个符号应该包含尽可能多的字符

预处理:

  1. 注释先于预处理指令被处理,因此,试图用宏开始或结束一段注释是不行的。

指针和数组:

  1. 定义为指针,声明为数组;

内存管理:

  1. 静态区:保存自动变量和static 变量(包括static 全局和局部变量)。静态区的内容在总个程序的生命周期内都存在,由编译器在编译的时候分配。
    栈:保存局部变量。栈上的内容只在函数的范围内存在,当函数运行结束,这些内容也会自动被销毁。其特点是效率高,但空间大小有限。
    堆:由malloc 系列函数或new 操作符分配的内存。其生命周期由free 或delete 决定。在没有释放之前一直存在,直到程序结束。其特点是使用灵活,空间比较大,但容易出错。

函数:

 

文件结构:


<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>