zoukankan      html  css  js  c++  java
  • C语言函数

    函数的本质
    1、C语言为什么会有函数
    (1)整个程序分成多个源文件,一个文件分成多个函数,一个函数分成多个语句,这就是整个程序的组织形式。这样组织的
    好处在于:分化问题、便于编写程序、便于分工。
    (2)函数的出现是人(程序员和架构师)的需要,而不是机器(编译器、CPU的需要)。
    2、函数书写的一般规则:
    第一:遵循一定格式。函数的返回类型、函数名、参数列表等。
    第二:一个函数只做一件事。函数不能太长也不宜太短,原则就是一个函数只做一件事情。
    第三:传参不易过多。在ARM体系下,传参不易超过4个。如果传参确实需要多,则考虑结构体打包。
    第四:尽量少碰全局变量。函数最好用传参返回值和外部交换数据,不要用全局变量。
    3、函数是动词、变量是名词(面向对象中分别叫方法和成员变量)
    (1)函数将来被编译成可执行代码段,变量(全局变量)经过编译后变成数据或者在运行时变成数据。一个程序的运行需要代码和数据
    两方向的结合才能完成。
    (2)代码和数据需要彼此配合,代码是为了加工数据,数据必须借助代码来起作用。
    4、函数的实质是:数据处理器
    (1)程序的主体是数据,也就是说程序运行的主要目标是生成目标数据,我们写代码也是为了目标数据。我们如何得到目标数据:
    必须两个因素:程序的输入数据+程序。
    (2)函数就是程序的一个缩影,函数的参数列表其实就是为了给函数输入原材料数据,函数的返回值和输出型参数就是为了向外部输出目标数据,
    函数的函数体里的那些代码就是加工算法。
    (3)函数在静止没有执行的时候,此时只占一些存储空间但是不占用资源(CPU+内存);函数的每一次运行就好像机器的每一次开机运行,运行时
    需要耗费资源 (CPU+内存),运行时可以对数据加工生成目标数据,函数运行完毕后释放占用的资源。
    (4)整个程序的运行其实就是很多个函数相继运行的连续过程。
    5、函数的三要素:定义、声明、调用
    (1)函数的定义就是函数体、函数声明是函数原型、函数调用就是使用函数
    (2)函数定义是函数的根本,函数定义中的函数名表示了这个函数在内存中的首地址,所以可以用函数名来调用执行这个函数(实质是指针解引用访问);
    函数定义中的函数体是函数的执行关键,函数将来执行时主要就是执行函数体。所以一个函数没有定义就是无基之塔。
    6、函数原型和作用
    (1)函数原型就是函数的声明,说白了就是函数的函数名、返回值类型、参数列表。
    (2)函数原型的主要作用就是给编译器提供原型,让编译器在编译程序时帮我们进行参数的静态类型检查。
    (3)编译器从源文件的第一行开始编译,遇到函数声明时就会收到编译器的函数声明表中,然后继续向后。当遇到一个函数调用时,就在我的本文件的函数声明
    表中去查这个函数,看有没有原型相对应的一个函数(这个相对应的函数有且只能有一个)。如果没有或者只有一部分匹配则会报错或者是报警告;如果发现多个
    也会报错或者报警告(函数重复了,C语言中不允许2个函数原型完全一样,这个过程其实是在编译器遇到函数定义时完成的。所以函数可以重复声明,但是不能重复定义)。

  • 相关阅读:
    实现tip浮层
    c++实现冒泡排序
    一天一小段js代码(no.4)
    html5 css3实现图中结构
    html表格相关
    js跨浏览器的事件处理函数
    js实现DOM结构
    CSS3实现鼠标移动到图片上图片变大(缓慢变大,有过渡效果,放大的过程是有动画过渡的,这个过渡的时间可以自定义)
    正则表达式学习笔记
    使用JS与CSS3的翻转实现3D翻牌效果
  • 原文地址:https://www.cnblogs.com/jiangtongxue/p/11742024.html
Copyright © 2011-2022 走看看