【C语言的那些小秘密】
文章平均质量分 81
bigloomy
勤能补拙,没有笨人,只有懒人!
展开
-
C语言的那些小秘密之内存分配
realloc()函数原型:extern void *realloc(void *mem_address, unsigned int newsize);语法:指针名=(数据类型*)realloc(要改变内存大小的指针名,新的大小)。 头文件:#include原创 2011-07-03 13:06:57 · 7817 阅读 · 9 评论 -
C语言的那些小秘密之断言
每次写摘要我都觉得是一件很头疼的事儿,因为我知道摘要真的很重要,它几乎直接就决定了读者的数量。可能花了九六二虎之力写出来的东西,因为摘要的失败而前功尽弃,因为绝大多数的读者看文章之前都会浏览下摘要,如果他们发现摘要“不对口”,没有什么特色和吸引人的地方,那么轻则采用一目十行的方法原创 2011-07-19 13:24:23 · 20793 阅读 · 35 评论 -
C语言的那些小秘密之链表(四)
大多数的读者在学习编程语言的时候都不喜欢那些枯燥的文字描述,包括我自己在开始学习编程的时候也是这样,对于代码的热情远远高于文字,所以我在我写东西的时候也不喜欢用枯燥的文字描述来向读者讲解,更喜欢用代码加上适当的文字描述的方式进行讲解,因为有些东西可能用枯燥的文字描述半天还不如实实原创 2011-07-28 08:29:19 · 11352 阅读 · 5 评论 -
C语言的那些小秘密之链表(三)
在开始写linux内核双向循环链表之前,我一直在想我要不要用长篇大论的文字来描述linux内核双向循环链表呢?经过认真的思考之后,我否决了用枯燥的文字向读者描述linux内核双向循环链表的想法,因为对于编程语言来说我相信大多数的读者都应该不喜欢面对枯燥的文字,更喜欢看到代码,同时原创 2011-07-28 08:28:56 · 8614 阅读 · 9 评论 -
C语言的那些小秘密之链表(二)
除了个别天才程序员外,没有人一开始就能写出让人惊叹的代码,都是从模仿开始的!不要相信你身边的人说他能很轻松的自己编写出让人惊叹的代码而不用任何的参考资料,因为我相信在你我的身边没有这样的天才程序员,所以我们都选择从模仿和阅读源代码开始。就好比一个优秀的作家不是一开始就能写出好的文原创 2011-07-24 13:39:34 · 8659 阅读 · 12 评论 -
C语言的那些小秘密之volatile
volatile的重要性对于搞嵌入式的程序员来说是不言而喻的,对于volatile的了解程度常常被不少公司在招聘嵌入式编程人员面试的时候作为衡量一个应聘者是否合格的参考标准之一,为什么volatile如此的重要呢?这是因为嵌入式的编程人员要经常同中断、底层硬件等打交道,而这些都用原创 2011-07-30 08:31:05 · 31813 阅读 · 21 评论 -
C语言的那些小秘密之预处理
预处理是C语言的一个重要知识点,它能改善程序设计的环境,有助于编写易移植、易调试的程序。因此,我们有必要掌握好预处理命令,在自己编程的时候灵活的使用它,使得编写的程序结构优良,更加易于调试和阅读。接下来我尽可能的把预处理中重要知识点向读者讲解清楚,使读者能够在自己以后编程的过程中原创 2011-08-01 08:27:33 · 14779 阅读 · 31 评论 -
C语言的那些小秘密之函数指针
我们经常会听到这样的说法,不懂得函数指针就不是真正的C语言高手。我们不管这句话对与否,但是他都从侧面反应出了函数指针的重要性,所以我们还是有必要掌握对函数指针的使用。先来看看函数指针的定义吧。函数是由执行语句组成的指令序列或者代码,这些代码的有序集合根据其大小原创 2011-07-05 15:10:08 · 14860 阅读 · 6 评论 -
C语言的那些小秘密之异常处理
很多读者在此之前可能根本没有使用或者听说过C语言的异常处理,印象中都是C++或者java才有的东西,C语言怎么会有异常处理呢?当然估计在大学出于一般的性的学习考试之类的话老师几乎是不会提及C语言的异常处理的,那么到底什么是异常处理?C语言中又该如何来实现异常处理呢?那么我们今原创 2011-08-04 11:01:06 · 13265 阅读 · 13 评论 -
C语言的那些小秘密之字节对齐
可能有不少读者会问,字节对齐有必要拿出来单独写一篇博客嘛?我觉得是很有必要,但是它却是被很多人所忽视的一个重点。那么我们使用字节对齐的作用和原因是什么呢?由于硬件平台之间对存储空间的处理上是有很大不同的,一些平台对某些特定类型的数据只能从某些特定地址开始存取,如通常有些架构的CP原创 2011-07-26 09:34:21 · 17479 阅读 · 92 评论 -
C语言的那些小秘密之const修饰符
或许还有不少人对于const修饰符理解的并不深刻,都只是停留在一个比较浅的层面上,仅仅是在读别人代码的时候看到了const修饰符的使用,自己的写代码的过中从未使用过,所以自然对于const修饰符比较陌生。那么到底什么是const修饰符,我们在自己编写C语言代码的过程中又该如何有效原创 2011-07-09 22:13:20 · 17869 阅读 · 15 评论 -
C语言的那些小秘密之变参函数的实现
在学习C语言的过程中我们可能很少会去写变参函数,印象中大学老师好像也没有提及过,但我发现变参函数的实现很巧妙,所以还是特地在此分析下变参函数的实现原理。无需标准C的支持,我们自己写代码来实现。先来看看一个实现代码:#include #define va_li原创 2011-07-07 14:16:36 · 11711 阅读 · 4 评论 -
C语言的那些小秘密之动态数组
摘要的重要性是不言而喻的,每次发文章我都很纠结如何写出一个有特色的摘要来,能够以最为简短的文字向读者描述出我所要表达的东西。但是常常出现的问题是,摘要写得太简短了,读者看了不清楚文章究竟要讲啥;摘要写得稍微长点的话自然能够描述清楚所要表达的东西,但是却也出现了另外一个问题,就是读原创 2011-07-21 16:21:28 · 66749 阅读 · 56 评论 -
C语言的那些小秘密之链表(一)
链表,一个对于学习过C语言的人都是再熟悉不过的概念了,可能很多学习过链表的人都觉得链表没什么值得太在意的地方,可是如果你走进linux内核,去看看linux内核里面链表的实现方式,你不得不为之惊叹。可能有人会觉得linux内核链表实现方式仅此而已,但是你要知道,如果你没有见到这样原创 2011-07-23 17:08:16 · 9925 阅读 · 5 评论 -
C语言的那些小秘密之函数的调用关系
显示函数的调用关系是调试器的必备功能,如果我们在程序的运行中出现了崩溃的情况,通过函数的调用关系可以快速定位问题的根源,懂得函数调用关系的实现原理也可以扩充自己的知识面,在没有调试器的情况下,我们也可以自己来实现显示函数的调用关系。在我们自己动手写backtrace函数之前,先来原创 2011-07-08 15:09:49 · 8596 阅读 · 0 评论 -
C语言的那些小秘密之指针(四)
正如前一篇博客所说的,但凡人都是急功近利和有惰性的,都不喜欢花时间去阅读那些我们认为枯燥的文字描述,喜欢直接进入主题。但是有时候恰恰就是因为我们的这种急功近利和惰性,使得我们绕了很大一个弯,到最后还是回到了文字描述上来,所以我觉得适当的文字描述下,让读者对于文章的整体有个大概的认原创 2011-07-18 09:19:08 · 5805 阅读 · 13 评论 -
C语言的那些小秘密之指针(三)
但凡人都是急功近利和有惰性的,我就是个例子。不想每篇博客都写一个摘要和那些大段的文字描述,但是为了让一些新的读者朋友了解我的博客内容,我还是像前面说的那样,把第一篇关于指针的摘要搬过来,因为我写的这几篇都是关于指针的,所以没有必要每篇一个摘要,在此就偷偷懒了,如果读过我前面两篇C原创 2011-07-17 21:29:34 · 6141 阅读 · 1 评论 -
C语言的那些小秘密之指针(一)
懂得C语言的人都知道,C语言之所以强大,以及其自由性,绝大部分体现在其灵活的指针运用上。因此,说指针是c语言的灵魂,一点都不为过。所以从我的标题加了个(一)也可以看出指针的重要性,我尽可能的向大家交代清楚我对于指针的理解。所以在讲解的过程中我尽可能的用代码加文字的描述方式,通过代原创 2011-07-17 17:04:09 · 7682 阅读 · 7 评论 -
C语言的那些小秘密之堆栈
在讲解堆栈之前,我们先要来说说其实我们常说的堆栈是两种数据结构。那么什么是堆什么又是栈呢? 栈,是硬件。主要作用表现为一种数据结构,是只能在某一端插入和删除的特殊线性表。它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读原创 2011-07-04 15:37:20 · 8964 阅读 · 11 评论