• 好好学习,天天向上~
  • 欢迎欢迎~

lcc的文章

c语言

C语言陷阱与技巧第9节,在程序运行异常时,输出错误函数链路径

上一节提到在C语言程序开发中,调用函数时需要根据判断其输出或者处理是否符合预期,才能做下一步的处理,否则很可能会引发灾难性的结果。例如下面程序员小明写的这段C语言代码: double get_val() { ... return val; } int fun1()...

2个月前 (04-28) 52℃ 0评论 0

杂谈

有这 6 个特点,说明你不适合成为程序员

不得不承认,人与人之间是有差异的,不同性格的人适合做不同的工作,比如有的人就不适合做程序员。当然,任何人都可以学习编程语言(如C语言、C++、python、java等),但是应该明白,学习编程和把编程当作自己的工作是两码事。实际上,有很多人学习编程语言的确很有天赋,但他还是有可能...

2个月前 (04-28) 32℃ 0评论 0

c语言

C语言陷阱与技巧19节,#define atomic_read(v) ((v)->counter + 0)在宏定义后面加0有什么好处?怎样自定义一个自己的锁?

在阅读 Linux 内核源码时,发现了两个宏,相关的C语言代码如下,请看: #define atomic_read(v) ((v)->counter + 0) #define atomic64_read(v) ((v)->counter + 0) ...

2个月前 (04-28) 31℃ 0评论 0

c语言

C语言陷阱与技巧第18节,函数式宏定义的“缺陷”,没有参数类型检查,产生多次副作用怎么办?

在之前的文章里,我们曾讨论C语言程序开发中 define 宏定义的“陷阱”之一就是可能会产生多次“副作用”,这也是C语言中函数式宏定义与真正函数的主要区别之一。显然,define 宏定义的这种“陷阱”会导致程序存在隐患,而且这种隐患造成的危害不亚于“野指针”。 C语言函数式宏定义...

2个月前 (04-28) 41℃ 0评论 0

c语言

C语言陷阱与技巧第17节,如果有个条件很大可能不发生,怎样写出更高效率的程序

在学习C语言程序开发时,很多初学者常常会有一种“编程也不过如此”的错觉,这种感觉通常出现在刚刚学完C语言语法,且能够独立完成一些课后练习题的时候,初学者的信心会在这一时期达到顶峰。可能会觉得程序无非就是各种 if 条件判断,加上相应的逻辑处理。 程序员编写程序就是为了服务人的,程...

2个月前 (04-28) 33℃ 0评论 0

杂谈

C语言诞生50年了,不仅没有没落,反而变得越来越强大

C语言已经诞生近 50 年,但是令人惊叹的是,它不仅没有没落,反而变得越来越强大。这么多年来,在各大程序设计语言的统计排序中(如 Redmonk 和 Tiobe)始终名列前茅。在 GitHub 上,C语言在 pull request 上的排名基本维持在前十名,甚至击败了注入 Sw...

2个月前 (04-28) 28℃ 0评论 0

c语言

C语言陷阱与技巧第15节,错误处理太麻烦,不写行不行?

在C语言程序开发中,调用一个有返回值的函数时,一般要对函数的返回值做判断,以确定函数是否按照预期执行。如果被调用函数没有按照预期执行,最好加上相应的错误处理代码,否则最终编译得到的C语言程序稳定性就不够好,遇到一点点意外,可能就不会正常工作了。 没有判断C语言函数的返回值,会有什...

2个月前 (04-28) 39℃ 0评论 0

杂谈

盘点12位最著名的程序员,头发多的不一定不是大师,来认认自己的祖师爷吧

现在已经有很多非常流行的编程语言,例如C语言、C++、C#、Java、Php 等。但是,不管是使用何种编程语言的程序员,他们都为社会贡献了自己。然而,很少有程序员能够做出远超其他程序员一生中能够做出的贡献,能够做到这一点的程序员都是各自领域的先驱。 本文将盘点有史以来 12 位非...

2个月前 (04-28) 35℃ 0评论 0

c语言

C语言陷阱与技巧第14节,数组操作的一些技巧,怎么只给一部分数组元素赋值?

数组是大多数编程语言中非常重要的语法,在C语言中尤为如此,可以认为C语言中的数组是一种复合数据类型——若干数据类型元素组合而成的集合。 之前的文章讨论过,数据结构决定代码逻辑和算法,换句话说也就是决定可以处理什么样的问题。C语言中的数组特别适合存储大量相同类型的元素,而且数组的各...

2个月前 (04-28) 35℃ 0评论 0