每周一书-编写高质量代码:改善C程序代码的125个建议
首先说明,本周活动有效时间为2016年8月28日到2016年9月4日。本周为大家送出的书是由机械工业出版社出版,马伟编著的《编写高质量代码:改善C程序代码的125个建议》。

编辑推荐
10余年开发经验的资深C语言专家全面从C语法和C11标准两大方面深入探讨编写高质量C代码的技巧、禁忌和实践
C语言因为既具有高级语言特性,又具有汇编语言特性,所以它是近二十几年来使用较为广泛、生命力较强的编程语言。无论是操作系统、嵌入式系统、普通应用软件,还是移动智能设备开发,它都能够很好地胜任,是公认的强大的语言。但是,它也是广大程序员认为较难的一门语言,大多数人都停留在“入门”阶段。作为一位C程序员,如何才能编写出健壮、优雅、高质量的代码?本书作者结合自己在该领域十几年的钻研和实践,从以下几个大的方面梳理了经常困扰“入门者”的几大类问题:
基础数据类型问题:如数据取值范围、整数溢出与回绕、浮点数精度、数据类型转换的范围检查等;
数组与指针问题:指针与地址、野指针、空(null)指针、NULL指针、void指针、多级指针、指针函数与函数指针、数组越界与缓冲区溢出等;
内存管理问题:内存分配、内存释放、内存越界与内存泄漏等;
字符与字符串问题:串拷贝与内存拷贝、内存重叠与溢出、字符串查找等;
高效设计问题:表达式设计、算法设计与函数设计、内联函数与宏的取舍等;
其他杂项问题:信号处理、文件系统、断言与异常处理、内嵌汇编的使用等。
作者简介
马伟,
现任华康移动医疗技术总监,资深软件开发专家和架构师,微软有价值专家(MVP)。拥有10余年软件研发和研发管理经验,擅长C、C++、.NET、Java等编程技术,专注于互联网应用的高性能架构设计与大数据挖掘,推崇互联网开源文化。
畅销IT技术书籍作家,著有《易学C#等畅销书,同时在大陆和中国台湾两地发行,广受读者好评。
目录
前言/序言
确实是一本好书啊,下面关键来了,如果你心动了,如何得到本书呢?
1.在本篇文章下面留言,谈谈你对C语言的认识,理解,感悟或者有趣的故事和想法
2.让你的朋友帮助给你的留言点赞
3.如果你的感悟或者故事很精彩,可以投稿给我们。稿件被采纳了,一次加100分。
微信扫描下发二维码,关注订阅号,回复“每周一书”,了解最新的运行情况,最近的送书小活动,获取书籍的方法都在文章里面。
每周一书,总有一本是你喜欢的。

玄魂工作室-精彩不断
每周一书-编写高质量代码:改善C程序代码的125个建议的更多相关文章
- iOS书摘之编写高质量iOS与OS X代码的52个有效方法
来自<Effective Objective-C 2.0编写高质量iOS与OS X代码的52个有效方法>一书的摘要总结 一.熟悉Objective-C 了解Objective-C语言的起源 ...
- 第一章 熟悉Objective -C 编写高质量iOS与OS X代码的52 个有效方法
第一章 熟悉Objective -C 编写高质量iOS与OS X代码的52 个有效方法 第一条: 了解Objective-C 语言的起源 关键区别在于 :使用消息结构的语言,其运行时所应执行 ...
- 笔记 《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法 》
阅读此书的笔记点: 此书目录即是对知识点最好的总结 第1章 熟悉Objective-C ---------------------------------------------- 第1条:了解Obj ...
- 【读书笔记】--《编写高质量iOS与OS X代码的52个有效方法》
1.Objective-C 起源: 在 C 语言基础上添加了面向对象特性,是 C 语言的超集.Objective-C 由 SmallTalk 语言演变过来,使用消息结构,运行环境由运行环境决定. OC ...
- 《编写高质量iOS与OS X代码的52个有效方法》书籍目录
一.熟悉Objective-C 1.了解Objective-C语言的起源 2.在类的头文件中尽量少引入其他头文件 3.多用字面量语法,少用与之等价的方法 4.多用类型常量,少用#define预处理指令 ...
- 编写高质量iOS与OS X代码的52个有效方法
第一章重点: 第一条:OC的起源 OC由smalltalk语言演化而来的语言为消息结构(messaging structure)语言,其运行时所因执行的的代码由运行环境来决定:函数调用(functio ...
- 编写高质量代码改善java程序的151个建议——导航开篇
2014-05-16 09:08 by Jeff Li 前言 系列文章:[传送门] 下个星期度过这几天的奋战,会抓紧java的进阶学习.听过一句话,大哥说过,你一个月前的代码去看下,慘不忍睹是吧.确实 ...
- 编写高质量代码改善C#程序的157个建议:第17个建议之多数情况下使用foreach进行循环遍历
今天是我看<编写高质量代码:改善C#程序的157个建议>第二遍的时候了,看完这本书的确是受益匪浅,学到了很多东西,也明白了很多道理. 里面的代码我每个都调试了一遍,有时候是有些出入的,可能 ...
- (第一章)改善JavaScript,编写高质量代码。
根据<编写高质量代码改善JavaScript程序的188个建议>这本书,来记录我目前所了解的建议方式. 建议1:警惕Unicode乱码 根据ECMA标准规定JavaScript语言可以使用 ...
随机推荐
- 一起买Beta版本系列文档
一起买beta版本文档报告汇总 031402401鲍亮 031402402曹鑫杰 031402403常松 031402412林淋 031402418汪培侨 031402426许秋鑫 一.Beta版本冲 ...
- free-electrons linux内核和驱动
操作系统的三个作用:1.管理硬件资源:2.提供独立于架构和硬件的可移植的软件接口3.处理不同应用对相同硬件资源的同时访问 系统调用接口是稳定的,系统调用由c函数库封装,用户程序基本不需要直接调用系统函 ...
- DbExpressionBinding requires an input expression with a collection ResultType. 参数名: input
使用linq多表连接遇到的问题: 解决方案:注释为出错代码,更改使用GroupBy解决问题 context.ERG_TipOffsInfo.GroupBy(x => x.Data,(Data,C ...
- yii隐藏域的使用方法
<?= $form->field($model, 'time')->textInput()->hiddenInput(['value'=>time()])->lab ...
- java连接Oracle数据库
Oracle数据库先创建一个表和添加一些数据 1.先在Oracle数据库中创建一个student表: create table student ( id ) not null primary key, ...
- 第五章:Logistic回归
本章内容 □sigmod函数和logistic回归分类器 □最优化理论初步□梯度下降最优化算法□数据中的缺失项处理 这会是激动人心的一章,因为我们将首次接触到最优化算法.仔细想想就会发现,其实我们日常 ...
- [spark案例学习] 单词计数
数据准备 数据下载:<莎士比亚全集> 我们先来看看原始数据:首先将数据加载到RDD,然后显示数据框的前15行. shakespeareDF = sqlContext.read.text(f ...
- C# IGUID的生成
GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.通常平台会提供生成GUID的API.生成算法很有意思,用到了以太网卡地址.纳秒级时间.芯片ID码和许多可 ...
- 利用CSS3实现圆角的outline效果的教程
一.首先,outline是个很牛的东西1. border近亲outline和border是近亲,为什么这么讲呢?首先,都是给元素外面套框框的:其次,支持的属性值几乎都是一样的,例如,outline-s ...
- nil、Nil、NULL和NSNull的理解
http://blog.sina.com.cn/s/blog_4930f8e60101h71b.html 其实早就想研究一下nil.Nil.NULL和NSNull之间的区别,只是工作上除了nil,其它 ...