c语言函数本质探讨.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言函数本质探讨

c语言函数本质探讨 1.函数的本质 1.1、C语言为什么会有函数 复杂的程序可能有上万个源文件,简单的程序也有好几个源文件。整个程序 被分成了多个源文件,一个文件分成多个函数,一个函数分成多个语句,这就是 整个程序的组织形式。这样组织的形式带来的好处是,处理程序时,分化问题, 便于分工,这样就便于编写程序。 函数的出现是人 (程序员和架构师)的需要,而不是机器 (编译器、CPU) 的需要;函数的目的就是实现模块化编程,既让代码的可读性好,又方便分工, 利于程序的组织。 1.2、函数书写的一般原则: 第一:遵循一定格式;函数的返回类型、函数名、参数列表等。如果没有返回类型(不 推荐),默认返回类型为int。 第二:一个函数只做一件事:函数不能太长也不宜太短,原则是一个函数只做一件事 情。 第三:传参不宜过多:在ARM 体系下,传参不宜超过4 个;如果传参确实需要多最 好考虑结构体打包。 第四:尽量少使用全局变量;函数最好用传参和返回值实现与外部交换数据,不要用 全局变量。 1.3、函数是动词、变量是名词 (面向对象中分别叫方法和成员变量) (1)函数将来被编译成可执行代码段,变量 (主要指全局变量)经过编译后 变成数据或者在运行时变成数据。一个程序的运行需要代码和数据结合才能完 成。 (2)代码和数据需要彼此配合,代码是为了加工数据,数据必须借助代码来 发挥作用。以现实中的工厂来比喻,数据是原材料,代码是加工流水线。名词性 的数据必须经过动词性的加工才能变成最终我们需要的产出的数据,这个加工的 过程就是程序的执行过程。 1.4、函数的实质是:数据处理器 (1)程序的主体是数据,也就是说程序运行的主要目标是生成目标数据,我 们写代码也是为了目标数据。我们如何得到目标数据?必须2个因素:原材料 + 加工算法。原材料就是程序的输入数据,加工算法就是函数。 (2)程序的编写和运行就是为了把原数据加工成目标数据,所以程序的实质 就是一个数据处理器。 (3)函数就是程序的一个缩影,函数的参数列表其实就是为了给函数输入原 材料数据,函数的返回值和输出型参数就是为了向外部输出目标数据,函数的函 数体里的那些代码就是加工算法。 (4)函数在静止没有执行 (存在硬盘里)的时候就好象一台没有开动的机器, 此时只占一些外部存储空间但是并不占用CPU和内存资源;函数运行时需要耗费 CPU和内存资源,运行时将待加工数据变成目标数据;函数运行完毕会释放占用 的资源。 (5)整个程序的运行其实就是很多个函数相继运行的连续过程。 2.函数的基本使用 2.1、函数三要素:定义、声明、调用 (1)函数的定义就是函数体、函数声明是函数原型、函数调用就是使用函数 #include stdio.h int add(int a, int b); //函数声明 int add(int a, int b) //函数名、参数列表、返回值 函 { 数 return (a + b); //函数体 体 } int main(void) { int a = 3, b = 5; 函 int sum = add(a, b); //典型的函数调用 数 pirntf(“3 + 5 = %d.\n”, add(3, 5)); //add 函数的返回 体 //值作为printf 函数的一个参数 return (0); } (2)函数定义是函数的根本,函数名表示的是这个函数在内存中的首地址,所 以可以 用函数名来调用执行这个函数 (实质是指针解引用访问);函数定义中 的函数体是函数的执行关键,函数将 来执行时主要就是执行函数体。所以一 个函数没有定义是空中楼阁,是不可行的。 (3)函数声明的主要作用是告诉编译器函数的原型。 2

文档评论(0)

hhuiws1482 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档