C语言
文章平均质量分 77
hardy_2009
这个作者很懒,什么都没留下…
展开
-
C语言易混淆关键词详解-const, static, extern, typedef, 声明
<br />Const <br /><br />Const关键词并不能把一个变量变成一个常量, 在符号前加上const表示这个符号不能被赋值, 即他的值对这个符号来说是只读的, 但并不代表这个值不能用其他方法去改变. 通过下面的例子就能比较好理解, <br />int i = 5;<br />const int *a = &i;<br />*a = 8; //报错, 只读不能赋值<br />i = 10; //OK <br /> <br /><br />Const最有用处的地方是用它来限定函数的形参转载 2011-01-14 10:57:00 · 969 阅读 · 0 评论 -
为什么C++提倡用const_点点滴滴
为什么C++提倡用const2009年06月08日 星期一 下午 05:55尽量用const和inline而不用#define这个条款最好称为:“尽量用编译器而不用预处理”,因为#define经常被认为好象不是语言本身的一部分。这是问题之一。再看下面的语句:#define ASPECT_RATIO 1.653编译器会永远也看不到ASPECT_RATIO这个符号名,因为在源码进入转载 2011-06-13 19:51:00 · 651 阅读 · 0 评论 -
红黑树插入和删除结点的全程演示
<br />红黑树插入和删除结点的全程演示<br /><br /> 作者:July、saturnman。<br /> 时间:二零一一年三月二十八日。<br /> 出处:http://blog.csdn.net/v_JULY_v 。<br /> 声明:版权所有,侵权必究。<br /> -----------------------------------<br />引言:<br /> 目前国内图书市场上,抑或网上讲解红黑树的资料层次不齐,混乱不清,没有一个完整而统一的阐述。而本人的红黑树系列原创 2011-04-18 21:52:00 · 880 阅读 · 0 评论 -
红黑树c源码实现与剖析
<br />前言:<br /> 红黑树作为一种经典而高级的数据结构,相信,已经被不少人实现过,但不是因为程序不够完善而无法运行,就是因为程序完全没有注释,初学者根本就看不懂。<br /> 此份红黑树的c源码最初从linux-lib-rbtree.c而来,后经一网友那谁用c写了出来。在此,向原作者表示敬意。但原来的程序存在诸多问题,且全程序没有任何一行注释。没有一行注释的程序,令程序的价值大打折扣。<br /> 所以,我特把这份源码放到了windows xp+vc 6.0上,一行一行转载 2011-04-18 21:42:00 · 701 阅读 · 0 评论 -
红黑树算法的层层剖析与逐步实现
<br />引言: <br />昨天下午画红黑树画了好几个钟头,总共10页纸。<br /> 特此,再深入剖析红黑树的算法实现,教你如何彻底实现红黑树算法。<br />经过我上一篇博文,“教你透彻了解红黑树”后,相信大家对红黑树已经有了一定的了解。<br /> 个人觉得,这个红黑树,还是比较容易懂的。<br /> 不论是插入、还是删除,不论是左旋还是右旋,最终的目的只有一个:<br /> 即保持红黑树的5个性质,不得违背。<br />再次,重述下红黑树的五个性质:<br /> 一般的,红黑树,满足一转载 2011-04-18 21:40:00 · 484 阅读 · 0 评论 -
一步一图一代码,一定要让你真正彻底明白红黑树
<br />作者:July 二零一一年一月九日<br />-----------------------------<br />本文参考:<br /> I、 The Art of Computer Programming Volume I<br /> II、 Introduction to Algorithms, Second Edition<br /> III、The Annotated STL Sources<br /> IV、 Wikipedia<br /> V、 Algorithm转载 2011-04-18 21:46:00 · 669 阅读 · 0 评论 -
指针详解
<br />[转] 这篇文章摘自网易广州社区的C语言版精华区。文章不错,不敢独享!作者girlrong是以前C语言版版主,她乐于助人,虚心诚恳,颇受网友欢迎。只可惜现在已退隐江湖了。 <br /><br /><br /> 第一章。指针的概念<br /><br /> 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 <br /><br转载 2011-03-12 21:50:00 · 285 阅读 · 0 评论 -
如何理解C和C++的复杂类型声明
<br />如何理解C和C++的复杂类型声明<br />曾经碰到过让你迷惑不解、类似于 int * (* (*fp1) (int) ) [10];这样的变量声明吗?<br />本文将由易到难,一步一步教会你如何理解这种复杂的 C/C++声明。<br />我们将从每天都能碰到的较简单的声明入手,然后逐步加入 const 修饰符和 typedef,<br />还有函数指针,最后介绍一个能够让你准确地理解任何 C/C++声明的“右左法则”。<br />需要强调一下的是,复杂的 C/C++声明并不是好的编程风格;我转载 2011-03-12 21:48:00 · 330 阅读 · 0 评论 -
printf函数实现的深入剖析
<br />研究printf的实现,首先来看看printf函数的函数体<br /> int printf(const char *fmt, ...)<br /> {<br /> int i;<br /> char buf[256];<br /><br /> va_list arg = (va_list)((char*)(&fmt) + 4); <br /> i = vsprintf(buf, fmt, arg);<br /> write(buf转载 2011-03-10 22:03:00 · 664 阅读 · 0 评论 -
C++中派生类对基类成员的三种访问规则
C++中派生类对基类成员的三种访问规则 C++中派生类对基类成员的访问形式主要有以下两种: 1、内部访问:由派生类中新增成员对基类继承来的成员的访问。 2、对象访问:在派生类外部,通过派生类的对象对从基类继承来的成员的访问。今天给大家介绍在3中继承方式下,派生类对基转载 2011-08-07 16:12:53 · 8722 阅读 · 0 评论