C语言编程
文章平均质量分 75
悟之思语
长亭外,古道边,芳草碧连天,晚风拂柳笛声残,夕阳山外山。天之涯,地之角,知交半零落,人生难得是欢聚
展开
-
C语言总结
早期的C 语言主要是用于UNIX系统。目前最流行的C语言有以下几种: ·Microsoft C 或称 MS C ·Borland Turbo C 或称 Turbo C ·AT&T C这些C语言版本不仅实现了ANSI C标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。C语言简洁、紧凑,使用方便、灵活。ANSI C一共只有32个关键字,9种控制语句,转载 2014-06-06 08:43:00 · 870 阅读 · 0 评论 -
算法精解十七(C语言版)
算法分析 无论是在设计还是在应用一种广泛认可的算法时,我们必须了解这种算法的性能如何。算法的性能可以通过很多方面评判,但是通常我们最关心的算法是运算速度。但有些时候,如果一种算法消耗了大量的存储空间,那么我们也要关注算法对内存空间的要求。不管如何,都要一种标准和确定的方法来确定算法的性能。之所以要了解算法的性能,去原因是很多方面的。例如:当要解决一个问题时,有很多算法可供选择原创 2015-02-15 16:43:25 · 694 阅读 · 0 评论 -
算法精解十二(C语言版)
函数指针 函数指针是指向可执行代码段或调用可执行代码段的信息块的指针,而不是指向某种数据的指针。函数指针将函数当做普通数据那样存储和管理。函数指针有一种固定的形式,就是包含一个确定的返回值类型和若干个函数参数。声明一个函数指针看起来与声明一个函数非常类似,只是在函数名之前有一个表示指针的星号(*),并且函数名和星号会用圆括号括起来。例如,在下面一段代码中,match被声明为一个函原创 2015-02-13 13:53:15 · 558 阅读 · 0 评论 -
算法精解十三(C语言版)
C++ 一种面向对象的语言,它遵从很多软件工程中所要求的方法。例如:C++支持数据类型的构造函数和析构函数。这种机制会为类型的实例化提供了一种更好的内存管理方法,从而避免了在C语言中经常出现的内存泄漏和指针相关的问题。基于堆的内存分配 在C语言中,这种内存分配指用malloc和realloc函数分配的内存空间。基于堆的内存分配通常也称做动态存储分配。它允许一原创 2015-02-13 13:59:15 · 489 阅读 · 0 评论 -
算法精解十八(C语言版)
计算的复杂度 在谈到算法的性能时,我们通常关注的是它的复杂度,复杂度与它处理数据量所需要的资源(通常是时间)的增长速率密切相关。O表示法能够描述一个算法的复杂度。使用O表示法。通过观察算法的整体结构,我们很容易就可以描述最快的情况下的算法复杂度,有些时候,我们也会借助于利用迭代公式和统计方法(见本章结尾的相关主题)。原创 2015-02-15 16:58:05 · 637 阅读 · 0 评论 -
算法精解十四(C语言版)
递归 递归是一种强大的方法,它允许一个对象以其自身更小的形式来定义自己。恐怕没有什么比观察神秘的自然界中出现的哦递归现象更好的方法来体会递归的重要意义了。想想蕨类植物的叶子,每片叶子叶脉中的小分支都是整片叶子的较小的缩影;又或者两个反光的物体,互相映射对象渐远的影像。这样的例子使我们明白尽管大自然的雷良很强大的,在许多方面它那种出乎意料的简洁更让我们觉得优美。同样的道理也可用在递原创 2015-02-13 14:16:52 · 547 阅读 · 0 评论 -
算法精解十(C语言版)
作为参数薯指向指针的指针 本书中有很多把指针当做参数传递给函数的地方,这是由于函数想改变传递给它的指针。想做到这一点,向函数传递一个待改变的指向指针的指针。看一下第5章定义的一个函数list_rem_net,这个函数的功能就是从链表中删除一个元素。当此行数返回使,data指向链表中被删除的元素:由于此函数需要改变data使data指向被删除的那个元素,因此必须将指原创 2015-02-13 10:57:38 · 489 阅读 · 0 评论 -
算法精解九(C语言版)
作为函数参数的指针 在C语言的函数调用由指针起着至关重要的作用。最重要的是,指针支持将参数作为引用传递给函数(即按引用调用)。按引用传递参数时。当函数改变此参数时。这个被改变参数的值会一直存在。甚至函数提出后都仍然存在。相对而言,当按值调用传递函数时,此时值的改变只能持续到函数返回时。无论是否是改变函数的输入输出参数,使用指针传递大量复杂也是十分高效的手段。这种方法高效的原因就在原创 2015-02-13 10:34:27 · 610 阅读 · 0 评论 -
算法精解七(C语言版)
存储空间分配 挡在C中声明一个指针时,与声明其他类型的变量类似,一定量的存储空间会分配给这个指针。通常情况下指针会占用一个机器字长的存储空间,但有些时候他们的大小也有所不同。因此 为了保证代码的可移植性,不应该假设每个指针都占有一个特定大小的存储空间,指针变量的大小通常与编译器的设定以及某些特定的C实现中的类型界定符有关。必须要记住的一点是:当声明一个指针时,仅仅只是为指针本省分配原创 2015-02-12 15:58:28 · 473 阅读 · 0 评论 -
算法精解八(C语言版)
数据集合与指针的算术运算指针在 C语言中最常见的用途就是用来引用数据集合。数据集合是由多个相关的元素构成的数据。C语言支持两种数据集合:结构和数组。(虽然联合与结构类似,但一般它单独被归为一类。)原创 2015-02-12 16:49:41 · 575 阅读 · 0 评论 -
算法精解五(C语言版)
指针操作 在C语言中,对于任何类型T,我们都可以在T所在的内存地址处产生一个包含对此对象地址的对应变量。如果用比较直观方式来看待这种变量,它们实际上是一种指向对象的变量,如果用比较直观方式来看待这种变量,它们实际上是一种指向对象的变量 ,因此,这些变量称为指针。在C语言中,指针是构建数据结构和操作内存的精确而高效的工具。另一方面,它们又很容易误用,从而产生不可预知的软件bug。了原创 2015-02-12 15:09:11 · 566 阅读 · 0 评论 -
算法精解六(C语言版)
回想一下,一个指针其实就是一个变量,它存储数据在内存中的地址而不是存储数据本身。也就是说,指针包含内存地址。很多时候。即使有经验的开发人员都很难形象表达这种不太直观的数据关系,特别是在处理类似于指向其他指针的指针这种更复杂的指针结构时就尤为明显了,因此,用来理解指针的最好方法之一就是绘制图表(见图2-1).指针通常都只是按位置用箭头一个一个连接起来,而不是在图表中画出来实际的地址。当指针不指向任何原创 2015-02-12 15:22:11 · 636 阅读 · 0 评论 -
算法精解四(C语言版)
小酌软件工程 本章开发曾经提到过,对数据结构和算法的理解在开发优秀的软件时是非常重要的。与其同等重要的是在我们开发工作中应用中应用软件工程中的一些良好准则。软件工程是个很广的主题,但从一些思想和概念中我们可以得到很多收获。这里就介绍一些相关的主题并将这些思想运用到安全书中。模块化 在软件设计中为了达到模块化的目的。一种方法是将精力集中在黑盒上。在软件开发中黑原创 2015-02-12 14:38:09 · 569 阅读 · 0 评论 -
算法精解三(C语言版)
算法简介 算法是定义良好的用来解决问题的步骤。在计算机科学领域中,算法是必不可少的,因为它们真实计算机完成系统操作所需要的具体步骤,好的算法就是如同好的工具一样,可以合理的付出完成相应的工作。使用不当的或不清的算法就像用台锯去切割一张纸或者用剪刀去切夹板一样;尽管工作也许能完成,但你不得不考虑完成工作的效率。和数据结构一样,使用短发也有3个原因:效率、抽象和重用性。效率原创 2015-02-12 14:01:32 · 753 阅读 · 0 评论 -
算法精解二(C语言版)
数据结构简介 数据有各种形式和大小,但通常它们可以以相同的方式来组织,比如,设想有一种清单,上面列出了需要做的事情,配方中成分列表,某门课程的阅读清单。尽管每种都包含不同类型的数据但他们包含的数据都以一种相似的方式进行组织数据。在计算机科学领域中,一些最常用来组织数据的方式有:链表、栈、队列、集合、哈希表、树、堆、优先级队列和图。本书将讨论所有上述的数据结构。使用数据结构的三个原因原创 2015-02-12 11:36:48 · 680 阅读 · 0 评论 -
算法精解一(C语言版)
最近无事 抽出点时间来整理一下算法 希望对自己有进一步的帮助和对学习算法的同行有一些帮助吧! 讲到算法 这个词是很重一个解决问题的途径 无论在什么行业 算法都是很重要的。不管你是否承认,无论哪种软件开发项目,几乎所有的程序员,开发者在日常工作中都要同数据结构和算法打交道。当我们阅读源码,对大型软件项目进行层层抽丝剥离之后,呈现我们面前的不再是复杂的层次结构和模式,而原创 2015-02-12 10:57:20 · 1278 阅读 · 0 评论 -
算法精解十五(C语言版)
基本递归 开始之前,首先来看一下通常我们不会以递归的形式思考问题。假设我们想计算整数n的阶乘。n的阶乘可写作n!.其结果是1-n之间的各数只积。比如,4!=4X3X2X1。一种计算法方法是循环遍历其中的每一个数,然后与它之前的数相乘作为结果在参与下一次计算。这种方法称为迭代法,可以正式定义为:看待这个问题的另一种方式是将n!定义为更小的阶乘形式。为了实现这一步,我们将n原创 2015-02-15 10:10:24 · 561 阅读 · 0 评论 -
C语言编程点滴总结
详文地址:http://www.it168.com/redian/cpp01/原创 2014-06-11 14:22:59 · 1400 阅读 · 0 评论 -
算法精解十六(C语言版)
尾递归 如果一个函数所有递归形成的调用都出现在函数的末尾,我们称这个递归函数是尾递归的。当递归调用是整个函数中最后执行的语句且它的返回值不属于表达式的一部分时,这个递归调用就是尾递归。尾递归函数的特点是在回归过程中不用做任何操作,这个特性很重要,因为大多数现代的编译器会利用这个特点自动生成优化的代码。当编译器检测一个函数嗲用是尾递归的时候,它就覆盖当前的活跃记录而不是在栈中去原创 2015-02-15 10:56:17 · 676 阅读 · 0 评论