• 《c和指针》笔记5


    递归

      C通过运行时堆栈支持递归函数。的哦贵函数就是直接或间接调用自身的函数。

      递归函数所需要的2个特性:

        1、存在限制条件,当符合这个条件时递归便不再继续。

        2、每次调用之后越来越接近这个限制条件。

      递归函数在实现方面更加接近问题的抽象定义,也更加清晰,然而在运行时的开销却是非常巨大的。

      因此在某些情况下应该考虑用迭代来替代递归,使用递归的时候要慎重考虑。对于开销以及代码实现的清晰度上的抉择要慎重。

    可变参数

      可变参数与C#的params很相似,但是C中是以省略号(...)来表示的,不同的地方是:

        1、C中的可变参数必须从头到尾按顺序逐个访问。

        2、可变参数没有原型,所以所有作为可变参数传递给函数的值都将执行缺省(默认)参数类型提升。

        3、va_arg无法正确识别作用域参数之上的缺省类型提升,在调用的时候容易制定错误的类型,导致一些无法预测的错误。

        4、需要指定可变参数的长度变量。

      *由于char、short、float类型实际上是以int或double类型的值传递给函数,所以在va_arg中使用后面这些类型时应该小心。

      今天的学习笔记就到这里,明天继续,加油!

  • 相关阅读:
    远程接入系统的问题
    FastReport
    通用FASTREPORT打印模块及接口方法
    cxGrid控件过滤筛选后如何获更新筛选后的数据集
    Oracle Data Integrator 12c (12.1.2)新特性
    ODI 12c 安装
    Kafka面试题
    Hadoop面试题
    Spark面试题
    JAVA面试题-数组字符串基础
  • 原文地址:https://www.cnblogs.com/ahl5esoft/p/2554220.html
Copyright © 2020-2023  润新知