1、 函数的定义与调用
函数定义:
如图对于函数定义首先需要函数返回值类型如void表示不返回任何东西,若返回值为整数则应该是int;其次要注意的是函数名(数据类型+变量)来定义一个函数。
可以参考下面一段代码:
#include<stdio.h>
void sum(int begin,int end) //函数定义
{int i=0,sum=0;//函数体
for(i=begin;i<=end;i++)
sum=sum+i;
printf(“%d到%d的和是%d\n”,begin,end,sum);
}
int main()
{sum(1,10);//函数调用
sum(11,20);
sum(21,30);
}
调用函数:函数名(参数值),需要注意的是()不能省略,起到调用作用的正是(),即使是没有参数值也应该加上括号。
2、从函数中返回
return+表达式:可以将return后的值返回然后结束函数的执行。
return:则可以直接结束函数的执行不返回值
要注意的是return返回的值就是调用处的值,也可以参与运算。
3、函数原型
如果我们将自己的函数写在主函数的后面,那么此时需要声明函数,做法就是在主函数前加上一句函数头的语句,以及一个分号。
#include<stdio.h>
void sum(int begin,int end); //函数的声明
int main()
{sum(1,10);//函数调用
sum(11,20);
sum(21,30);
}
void sum(int begin,int end) //函数定义
{int i=0,sum=0;//函数体
for(i=begin;i<=end;i++)
sum=sum+i;
printf(“%d到%d的和是%d\n”,begin,end,sum);
}
4、参数传递
要知道的是C语言在调用函数时,永远只能传值给函数
#include<stdio.h>
void swap(int a,int b);
int main()
{ int a=5;
int b=6;
swap(a,b);
printf(“a=%d,b=%d\n”,a,b);
}
void swap(int a,int b)
{ int t;
t=a,a=b,b=t;
}
如同这一段代码,在函数中进行的a,b数值交换只是对于这个函数中的参数a,b来说,但是对于main函数中的a,b却不会改变数值。也就是说每个函数有自己的变量空间,参数也位于这个独立空间中,和其他函数没有任何关系。
过去,在传统教科书中一般将函数参数表中的参数为形式参数,即“形参”;而调用函数时所给的值称为实际参数,即“实参”。现在一般不会这样称呼了。