- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C函数、数组、指针与调试器gdb--函数
C函数、数组、指针与调试器gdb--函数 一、函数的定义 1、函数(function)定义的一般形式为: 返回类型 函数名 (形式参数列表) { 函数体 } 在C语言中,函数由函数名惟一标识。函数名是一个标识符,它不能和其他函数同名,否则在函数调用时,系统不知道调用哪一个。但在作为对C语言进行扩展的C++语言中,函数允许重名。 函数的返回类型是调用函数时返回值的类型,可以是任何基本数据类型或指针。当函数不返回任何值时,应该定义函数的返回类型为void。如果在定义一个函数时,没有明确指明返回类型,Linux上最常用的编译器gcc默认返回类型为int。 形式参数是函数的操作数,形参和形参之间以逗号隔开。 函数执行运算的部分称为函数体。在函数体内可以定义变量,对形式参数进行操作,返回数据。下面定义了一个函数,用于求两个数中较大者,代码如下: int max(int a,int b) { int c; c = ab ? a:b; return c; } 在第1行中,第一个关键字int表示这个函数的返回类型为整型。max是函数名,括号中是两个形式参数,它们都是整型的,形参之间以逗号隔开。函数体中第1行定义了一个整型变量c,第2行将a与b中的较大值赋给c,函数体的最后一行,通过使用return语句将变量c的值返回给调用者。这里我们注意到,变量c的类型与函数的返回类型是一致的,都是int型。下面的语句调用了这个函数: int i,j = 10 ,k = 15; i = max(j,k); 2、函数的参数 下面是一个完整的例子。 例4-1 #include stdio.h int max(int a,int b) { int c; c = a b? a : b; return c; } int main() { int i, j = 10, k = 15; i = max(j,k); printf(i=%d\n,i); } 程序说明:在main主函数中调用了的max函数。在定义函数时,函数名后面括号中的变量称为形式参数,如变量a,b,简称形参。在调用函数,函数名后面括号中的参数称为实际参数,如变量i,j,简称实参。实参可以是变量也可以是常量或表达式。例如:i = max(20,j+k); 第一个实参是整型常量20,第二个参数是一个表达式。 在定义函数中指定的形参,在这个函数被调用前,它们不占内存的存储单元。只有在发生函数调用时,函数max中的形参才被分配内存单元。在调用结束后,形参所占的内存单元即被收回。 实参和形参的类型应该相同或者两才间可以进行转换。下面的调用是合法的: i = max(25.5,j+k); 那么i的值是多少呢?在进行函数调用时,25.5被赋值给int型的形参a,此时要发生转换,a实际被赋值为25,形参b被赋值为j+k的与25。因此最后i的值为25。 函数的形式参数列表即形参列表可以为空,此时函数没有形参。 C语言规定,实参对形参的数据传递是单向的”值传递“。实参只是将它已的值赋给形参,形参若在函数中值被改变并不会影响实参。事实上,实参的值与形参的值存放在内存的不同单元里。在发生函数调用时,形参被分配内存单元,内存单元被初始化为实参的值,此时,形参的值与实参的值是一样的。如果在函数内形参的内存单元存储了其他值,例如,在max函数体内将100赋值给形参a,此时实参与形参的值就不一样了。函数调用结束也就是函数体执行完毕后,分配给形参的那块内存被系统回收,但存储在实参的内存单元仍旧还在并且其值未发生变化。 注意:一个函数的各个参数不可以重名,函数体内定义的变量也不可以和参数重名。 3、函数的返回值 通常,希望通过调用某个函数来获取一个值,这个值就是函数的返回值。函数通过return语句将一个值返回给调用它的函数。当然一个函数也可以不返回任何值,此时函数仅仅完成某些操作。一个函数体内可以有多条return语句,当实际执行到第一条return语句时,函数就执行完毕。如果一个函数不返回任何值,应该把函数返回类型指定为void(即空类型),例如: void someoperate(float f); 如果函数的返回类型和return语句返回的值类型不一致,以函数的返回类型为准。对于数值类型将自动进行类型转换。 注意:函数体内定义的变量在函数体外是不可见的,外部不能访问。函数体内定义的变量随着函数被调用而分配内存空间,函数调用结束函数体为定义变量分配的内存空间即被回收。函数可以返回一个指针但不可以返回一个数组。 二、
您可能关注的文档
最近下载
- 盆景制作工具及材料.ppt VIP
- 会计数字的书写.pptx VIP
- 《GB 38507-2020油墨中可挥发性有机化合物(VOCs)含量的限值》(2025版)深度解析.pptx
- 猪热应激及抗应激策略.ppt VIP
- 二年级数学用乘法解决问题评课稿.docx VIP
- 《卷烟感官评吸技术》试题有答案.docx
- 家长可以VS不可以查看未成年子女的个人信息辩论赛 反方辩词一辩、二辩、三辩、四辩发言稿.docx VIP
- 四川省成都市石室天府中学2024-2025学年七年级下学期3月月考 数学试题(含解析).docx VIP
- 猪的热应激及抗应激策略.ppt VIP
- rmg系列USZ08超声流量计使用说明书.pdf VIP
文档评论(0)