什么是函数?C语言函数的概念

2年前 (2024-04-27)

从表面上看,函数在使用时必须带上括号,有必要的话还要传递参数,函数的执行结果也可以赋值给其它变量。例如,strcmp() 是一个用来比较字符串大小的函数,它的用法如下:

#include <stdio.h>

#include <string.h>

int main(){

char str1[] = "http://c.biancheng网站站点" rel="nofollow" />

#include <stdio.h>

#include <string.h>

int main(){

char str1[] = "http://c.biancheng网站站点" rel="nofollow" /> 函数(Function)。

函数的本质是一段可以重复使用的代码,这段代码被提前编写好了,放到了指定的文件中,使用时直接调取即可。下面我们就来演示一下如何封装 strcmp() 这个函数。

#include <stdio.h>

//将比较字符串大小的代码封装成函数,并名为strcmp_alias

int strcmp_alias(char *s1, char *s2){

int i, result;

for(i=0; (result = s1[i] - s2[i]) == 0; i++){

if(s1[i] == '\0' || s2[i] == '\0'){

break;

}

}

return result;

}

int main(){

char str1[] = "http://c.biancheng网站站点" rel="nofollow" /> 库函数(Library Function)。库(Library)是编程中的一个基本概念,可以简单地认为它是一系列函数的,在磁盘上往往是一个文件夹。C语言自带的库称为标准库(Standard Library),其他公司或个人开发的库称为第三方库(Third-Party Library)

关于库的概念,我们已在《不要这样学习C语言,这是一个坑!》中进行了详细介绍。

除了库函数,我们还可以编写自己的函数,拓展程序的功能。自己编写的函数称为自定义函数。自定义函数和库函数在编写和使用方式上完全相同,只是由不同的机构来编写。

参数

函数的一个明显特征就是使用时带括号( ),有必要的话,括号中还要包含数据或变量,称为参数(Parameter)。参数是函数需要处理的数据,例如:
  • strlen(str1)用来计算字符串的长度,str1就是参数。
  • puts("C语言中文网")用来输出字符串,"C语言中文网"就是参数。

返回值

既然函数可以处理数据,那就有必要将处理结果告诉我们,所以很多函数都有返回值(Return Value)。所谓返回值,就是函数的执行结果。例如:

char str1[] = "C Language";

int len = strlen(str1);

strlen() 的处理结果是字符串 str1 的长度,是一个整数,我们通过 len 变量来接收。

函数返回值有固定的数据类型(int、char、float等),用来接收返回值的变量类型要一致。