C语言中,函数定义包含:
函数值类型 函数名(形参表)
{
内容(比如说你想要执行的功能)
}
通俗的来说,函数值类型 就和我们通常用的数据类型差不多,有 int, char, float 等等。
但是,函数值类型决定了你返回的东西的类型,下面让我举个栗子(例子):
#include<stdio.h>
int main(void)
{
int Add2(int n);
int a,b;
scanf("%d",&a);
b = Add2(a);
printf("%d",b);
return 0;
}
int Add2(int n)
{
int c;
c = n +2;
return c;
}
上面的就是一个简单的函数Add2
它的功能是将输入的整数加2
(当然啦,现实中的函数肯定比这个复杂)
在上述函数之中, 我们的函数值类型为 int(整型)
形参为 int n(不会改变实参如上面的"a")
返回值为 整型 c
函数架构好了之后,若在主函数之中调用需要原型声明
就像上面的 int Add2(int n);
相比我们构建函数多了个 “;”
最后是函数调用,如上面的函数 b = Add2(a).
假如说,我们的a为3,调用了函数Add2(a)
那么 a这个实参(也就是这个数) 被传递到函数的 n之中,此时n的值与a相等,最后在函数中做出 c = n + 2 得到 c = 5;
那么return c; 返回的值就为5,也就是说 b = 5;
这是一种情况,当然,如果不想要返回值的话,采用void作为 函数值类型.
这种用法在与指针,数组结合中比较常见.
当然,函数也的形参不一定只有一个,也可以有多个,如下的格式:
int Add(int a1,int a2,...,int an)
我会将更多关于函数的笔记记录在 函数(2)之中.
注: 形参:调用时分配存储空间,调用结束后释放.
实参:类似函数调用中的a(看上面的),它可以是个表达式,可以是给单纯的值,也可以是一个函数,但都得有值.