要善于说“谢谢”“加油”和“最喜欢”,有朝一日要成为善良的人!
本文有关代码段来源网络,如有侵犯,请立即联系博主改正!
文章目录
- C语言学习笔记之函数初步
- 前言
- 一、函数是什么?
- 二、函数的定义
- 1.有返回值函数的定义
- 2.无返回值函数的定义
- 3.关于函数参数类型(实参和形参)
- 1.形式参数(形参)
- 2.实际参数(实参)
- 3.一些注意
- 4.关于函数的声明
- 总结
前言
学习任何一门编程语言最重要的部分之一就是函数,把函数学会了,学透彻了才可以说摸到了这门编程语言!C语言作为最经典的编程语言也不例外,只有把C语言当中函数的声明,定义,调用······这些最基本的概念搞明白了,才可以说摸到了C语言的门槛。
本文主要从基础入门的知识入手,结合一些经典代码段,介绍关于C语言当中函数的有关知识。
如有纰漏,还望各位看官指正!创作不易,如有冒犯,还望海涵!
一、函数是什么?
既然是学习笔记,那就讲讲自己的看法。函数就是自变量对应因变量,C语言中的自变量叫做参数,参数有很多种,后面会详细的讲解,而因变量对应C语言中的函数返回值,或者对应函数执行的某一过程······总之,函数完全可以理解为初中高中写的那些函数,就是建立一个映射关系,对于C语言的学习者来说,应该不算一个新知识。
二、函数的定义 1.有返回值函数的定义定义如下:
返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…) {
函数体;
返回值;
}
返回值类型对应着前面说到的结果,如果这个函数执行想得到的是一个值,那这个返回值就需要规定类型。
函数名就是字面意思,给你自定义函数起一个名字而已,想要什么起什么就好,但是!!不能起跟系统提前定义好的函数名有冲突,比如自己定义了一个main?
函数名后面的括号填的是参数类型和参数名,定义的这个函数需要什么自变量,这个自变量的是什么类型的,都要在这里提前规定好。
花括号里写的是函数体,这里没什么说的,按照需求写就好,前边在主函数中怎么写的,在这里怎么写。
返回值就是要返回到函数调用处的一个值,它的类型前边已经定义,已经规定好了。
int send( int a,int b)//有返回值的函数的定义
{
return a+b;//返回了a+b的值
}
void main()
{
z=send(a,b);//函数的调用
printf("%dn",z);
}
2.无返回值函数的定义
定义如下:
void 函数名() {
函数体;
}
顾名思义,无返回值自然不需要定义返回值的类型,所以在函数名面前,我们用void来代替,并且此时函数体当中的return也可以省略。
函数名和函数体和有参函数是以一样的,见上文。
虽然没有返回值,但一定要注意!C语言中所有的函数都对应这功能,并不是说没有返回值的没有用,具体情况要具体分析!!!
3.关于函数参数类型(实参和形参) 1.形式参数(形参)关于函数定义要注意的是不能起同名函数,就是俩函数的名字不能一样,用脖子想想,要是一样,计算机怎么知道应该调用哪个函数!
在上面讲的定义函数的时候,括号里面定义的参数叫做形式参数,简称形参,形参值得注意的是:
2.实际参数(实参)形参在计算机内部只有在被调用的时候会被系统分配空间,当执行完函数的时候,系统会立刻对这段空间进行回收释放,因此定义的形参只能在函数内部使用,在其它函数中是用不了的。
在调用函数的时候,传入函数的值叫做实际参数,简称实参。
注意!无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。
1.实参对应形参的个数的个数要一样。
2.当形参和实参的类型不一样时,会自动转化为形参的类型。
3.当使用基本数据类型(char、int、float等)作为实参时,实参和形参之间只是值传递(后面会讲到指针作为参数,稍有不同),修改形参的值并不影响到实参函数可以没有形参。
void change(int number1, int number2) { // 形式参数
number1 = 250; // 不会影响实参
number2 = 222;
}
int main() {
int a = 88;
int b = 99;
change(a, b);
printf("a = %d, b = %d", a, b); // 输出结果: 88, 99
return 0;
}
代码段中改变了形参number1的值并没有改变对应实参a的值!!!
4.一个函数中可以使用多条return语句,但是一旦程序运行了第一条return语句,就不会继续执行该函数中其它的语句。(会立即返回(返回值),函数终止,开辟的内存被系统回收)
4.关于函数的声明
首先要搞清楚为什么要进行函数的声明
在程序运行的过程中,只有后面定义的函数才可以调用前面定义过的函数。所以除非把定义的函数全部定义到主函数的前面,否则所有的函数要想正常使用,都必须要进行函数的声明。
声明的方式很简单,就是把自定义的函数的函数体前面的东西复制到主函数前面并且加上分号就ok
例如
void getMax(int v1, int v2);// 函数声明
int main(int argc, const char * argv[]) //主函数
{
getMax(10, 20); // 调用函数
return 0;
}
void getMax(int v1, int v2)//函数的定义
{
int max = v1 > v2 ? v1 : v2;
printf("max = %in", max);
}
接下来请快乐的使用C函数吧
总结本文主要介绍了C语言当中函数的定义,声明,调用等相关概念和简单用法。



