重学 C 语言
1、简述 ...............................................................................................................................................1
2、一些真相 .......................................................................................................................................2
3、C 缺陷 ........................................................................................................................................... 3
3.1 多做之过 ............................................................................................................................3
3.1.1Switch 语句 .................................................................................................................3
3.1.2 相邻字符串常量的自动连接 ................................................................................... 3
缺省情况下函数名字的全局可见性 ................................................................................ 3
3.2 误做之过 ..............................................................................................................................4
3.2.1 符号重载 ....................................................................................................................4
3.2.2 复杂的运算符优先级规则 ...................................................................................... 4
3.3 少做之过 ...............................................................................................................................5
3.3.1 空格的作用 ...............................................................................................................5
3.3.2 一些代码能轻松通过编译,但运行起来就是垃圾 ...............................................5
4、C 语言声明 ................................................................................................................................... 6
4.1 C 语言声明概述 ................................................................................................................6
4.2 C 语言中的组合类型声明 ................................................................................................6
4.3 C 语言声明分析 .............................................................................................................7
5、指针与数组 ...................................................................................................................................8
5.1 数组与指针的异同 ..............................................................................................................8
5.2 二维数组 ..............................................................................................................................8
6、数组传参 .......................................................................................................................................9
1、简述
C语言作为我平时用的最多的一门编程语言, 时常感觉用的不那么得心应手,
除去标准 C 库,就其语言本身而言,还有若干盲区。如果你只会用一些逻辑语
句,不会用指针操作内存、不会用头文件整理工程、看不明白 C 语言声明,混
淆传参过程,甚至连运算符的优先级都搞不清楚,再熟练也只能说知道 C 语言
的一点皮毛, 真正的精髓是指针, 当然也是难点。 不容易理解的地方包括指针与
数组、声明、函数传参。距初学 C 语言四年后,重新学习,查缺补漏,幸得好
书一本《C 专家编程》,站在更高的地方审视 C 语言的好与坏, 精髓与学习之道,
收获颇丰,码出一些笔记跟大家交流。
可以把语言看成一门协议,最初的设计是有其背景的,协议有好有坏,性能
不可能是最佳的, 语言也是,标准化以后的 ANSI C 语言有它的优点, 也有它“难
以忍受”的缺点,当然,即使是缺点,也不会再优化,不然新的编译器将会使以
前无数正常的代码出现令 coder莫名其妙的 bug。站在历史的、设计者的角度重
新学习,而不是去抠具体的知识点, 那种豁然开朗的感觉真好。 就像搞嵌入式没
听说过 startup.s,做 ARM 不明白 bootloader 内容,玩 51 不知道 idata、xdata,写
工程不懂模块化没听说过链接描述文件, 有些真相你如果接触不到, 你就永远都
是业余选手。
评论0
最新资源