网站seo优化的重要性,软件开发外包费用评估,博山网站seo,百度该网站无法进行访问阿里云导读 #xff1a;
这篇文章主要讲解一下C语言函数的一些基本知识。
前言#xff1a;函数的概念
C语言中的函数又常常被称为子程序#xff0c;是用来完成某项特定的工作的一段代码。就像我们生活中的模块化建造技术#xff0c;类比模块化建房子的过程#xff1a;整个程序…导读
这篇文章主要讲解一下C语言函数的一些基本知识。
前言函数的概念
C语言中的函数又常常被称为子程序是用来完成某项特定的工作的一段代码。就像我们生活中的模块化建造技术类比模块化建房子的过程整个程序好比最终要建成的房子而函数所代表的就是每部分模块如第一层第二层或者屋顶···将这些模块灵活的拼接就搭建成了最后的房子。
从函数的定义角度我们可以把函数分为库函数和自定义函数
一库函数
库函数是由C语言编译系统提供的已经有一定功能的我们只需在程序前包含有该函数原型的头文件就可以直接使用这些函数。
比如我们常用的 printf函数 #includestdio.h // stdio.h就是包含printf函数的头文件 int main () { printf(yeah); // printf就是C语言提供的有打印功能的库函数不需要我们自己定义 } 寻找C中的库函数及其有关的头文件的网址C/C官方的链接
http://zh.cppreference.com/w/c/header
二自定义函数
是由用户根据需要自行编写的函数创建格式如下 ret_type name(形式参数) { 函数体用来描述函数执行过程的部分 } 创建例子 #includestdio.h //int 决定了z的返回类型是整形 int plus(int x,int y) //plus是函数名 //int x,int y规定了输入的形式参数的类型应该是整形 { int z 0; z x y; return z; } 这个函数的作用就是计算两数之和。 写好这个函数以后若调用这个函数函数就会计算所输入的两个值之和然后返回给主调函数 知识点
1ret_type返回类型
ret_type指返回类型即函数计算结果的类型如int 、double···也可以是void表示什么都不返回
· 下面对函数的返回值进行解释说明
从是否有返回值的情况函数可分为有返回值函数和无返回值函数
有返回值函数这类函数在执行完以后会通过return语句向调用者返回一个执行结果
无返回值函数这类函数只是把函数体执行完然后继续执行程序后面的语句并不会向调用者返回任何值
2 return语句
功能计算表达式的值并返回给主函数
① return语句后面可以是数值也可以是表达式如果是表达式则先计算表达式再返回
② 若return语句返回的值和函数的返回类型不一样系统会将返回的值转换成函数的返回类型
③ return语句执行后函数是彻底返回不会在执行后面的语句
④ 当函数存在分支语句则要保证每种情况下都有return返回
⑤ 当返回类型是void这种不需要返回的可以省略return或者return语句后面不跟表达式
3形式参数和实际参数
形式参数是在定义函数时确定的只能是变量只有在被调用时才分配内存单元在调用结束后立刻释放所分配的内存单元。
实际参数可以是常量变量表达式函数值等。在函数调用时它们必须要有确定的值以便把这些值传递给形参。
实参数值的传递要注意
1实参和形参在数量上顺序上要严格保持一致
2实参和形参的数据类型必须兼容并且以形参的数据类型为主
关于形参内存分配的理解
请看下面的代码 函数swap的作用是交换ab的值可是为什么最后打印出的结果却还是10,20呢
这里我们就要理解一下形参的内存分配和实参的内存分配的区别
1int ab时ab作为实参在创建时是直接分配了内存空间
2到调用 swapab这时候是把实参ab的值传递给形参也就是传递给函数里面 的变量形参得到值才会分配新的空间并且这个内存空间和函数外实参的空间是不一样的
3最后在函数执行完以后形参ab的内存空间被释放
所以从始至终函数并没有对函数外的实参进行操作函数改变的只是附有实参的数值的形参。
三函数的调用
我们继续用这个图来解释 调用格式 函数名实际参数列表 //分号不能省 如上图调用swap函数 swap(a,b); 说明
1无参数函数调用时没有实参列表
2实参列表中的参数即实参可以是变量常量和表达式
3实参之间用逗号隔开
4在C语言中出了main函数其余的函数调用前要有函数声明原型
函数声明 ret_type name(形式参数); 如上图若要声明swap函数 void swap(int x,int y); 注意上图中使用swap函数时没有声明是因为上述的程序中函数的实现在前而函数的实现属于特殊的声明
函数的嵌套调用
C语言中的函数之间都是平行的不分上下级。因此不能在一个函数里定义另一个函数但是可以在定义函数的时候调用其他函数。
下面对函数的嵌套调用进行举例 这个程序中有三个函数mainfaccomb他们之间的嵌套关系如下 在main函数中调用了comb函数来进行分式计算在comb函数中又调用了fac函数来计算nm和n-m 时光总是这么快一下就看到结尾啦 我的分享也就到此结束啦 要是我的分享也能对你的学习起到帮助那简直是太酷啦 若有不足还请大家多多指正我们一起学习交流 嘿嘿王子公主请一键三连(✪ω✪) 感谢大家的观看和支持最后☺祝愿大家天天开心 开心是一天不开心也是一天为什么不开开心心的过好每一天呢