- 论坛徽章:
- 0
|
本帖最后由 slucx 于 2012-04-26 12:02 编辑
细节决定成败,
知道了细节才可以避免出现错误,
才能更加娴熟的利用好自己的编程工具
也请大家都说说自己在编程中逐步
认识到的C语言编程的细节性问题,
或是说说你的以C为路线的成长经历,
帮助更多像我这样的菜鸟更快成长
我先说说几个自己知道的,
不过都是一些很简单的,
高手不要笑我连这都拿的出手,
毕竟是抛砖才能引玉嘛~
1. 左值不支持强转
2. 全局变量只能用常量初始化
3. 能用内联解决的就不要用宏
4. free一个指针后将指针置NULL
5. 编程中尽量多的添加异常退出,但最终产品中不能
6. 编程过程中有符号类型的溢出问题值得注意
7. 想一次操作多大多大的内存,就把指针转成相应类型大小的指针
8. 局部变量的生存周期只是当前块,但运行时环境不负责相应内存的及时清零
9. 字符常量会分配到静态区(别喷我,看到一个朋友的帖子才写这个的)
个人感觉C语言的成长历程:
1. C入门, 随便一个C语法书就行
2. C陷阱与缺陷
3. C专家编程
到了这,语言本身应该差不多了,
但这几本书还是应该反复看的,
因为没有几次是不能完全掌握的
4. unix环境高级编程(先了解原理,用时再查)
到这时已经会unix/linux系统编程了
5. 看开源源码(据说应该先看glib) && 同时进行项目训练
我是菜鸟一枚,
从我以往发的帖子中就可以明显看出,
但我和大家一样,
也是个想要成长的菜鸟,
其实,C的细节性问题往往要经过
“出错-->纠结-->自己试验更极端的例子,使自己更纠结-->
找到问题的关键所在-->以后此问题就不会或少的纠结了”
这个过程,
手里只拿着C这个语言工具向周边扩展,这条路不好走啊
希望过来人说说你们的成长经验,还有你所知道的细节,
也请各位把自己曾经纠结或现在正在纠结的细节性问题贴出来
(觉得C还需要深入了解就是栈[记得以前有个通过变量溢出调用函数的帖子],
内存的结构,
因为map文件往往是解释溢出问题最好的证据)
|
|