目录
bzero函数
函数原型:void bzero(void *s,size-t n);
参数:
s:表示一块内存空间的首地址
n:表示清零的字节数
函数
函数就是function(功能)
函数的思想
从上到下,逐步求解的过程(简单来说就是拆)
函数的定义
把功能实现出来
形式:
类型标识符 函数名(形式参数)//第一行称为函数头
{
函数体代码
}
类型标识符
数据类型—表示函数要带出的结果的类型
注意:数组类型不能做函数返回结果的类型
函数名
标识符—命名规则符合标识符命名规则
返回结果的类型:
1如果函数不需要带出什么结果,此时返回值是类型标识符,一般设计为void,如果类型是void,一般不写return,如果要写,一般写return不加东西;
2.如果返回结果的类型与类型说明符不一致,以类型说明符为准,最终结果的类型都会转为类型说明符表示的类型;
3.类型说明符如果不写,一般m默认为int。
形式参数
表示该函数需要用到的数据,表明将来使用时需要用到的实际参数,该怎么写
写法
数据类型 形参变量名
多个形参:数据类型 形参变量名1,数据类型 形参变量名2,.....
注多个形参定义时要用逗号隔开,且每一个形参变量名前都要有一个数据类型
注意:
1.形参变量,必须都明确指定类型,不能写成int a,b;
2.实参和形参对应关系:类型匹配,个数相同,顺序一一对应(第一实参给第一形参)
3.函数传参,传递的是实际参数的数值(值传递);
4.如果不需要接受实际参数,形参一般设计为void(表示空类型)
函数体代码
这是实现函数具体功能的那部分代码
写函数的步骤
1.先确定函数名
2.考虑函数需要用到哪些数据—形参
3.处理数据—函数体的具体实现
4.考虑需不需要带出结果——(返回值对应)类型说明符
return语句
return表达式;(return表示从函数中返回,意味着函数执行结束)
eg:实现两个数求和
#include<stdio.h>
//函数定义
int add(int num1,int num2)//确定函数名,考虑需要用到的数据
{
int sum;
sum = num1 + num2;//处理数据
return sum;//带出结果
}
int main(void)
{
int ret;
ret = add(1,2);//函数调用
printf("%d\n",ret);
return 0;
}
函数调用
语法:函数名(实际参数)
调用的函数可以放的位置:
1.函数表达式;2.函数语句;3.函数参数
函数定义的位置
1.main函数之前
2.main函数之后,需要中使用(函数调用)时,进行函数声明(函数头+分号)
注:标准c语言中不支持将函数定义在main函数中