C语言基础课堂总结——函数

函数

函数是c语言中管理代码的最小单位(把若干行代码集合在一起形成一个整体),一个函数就相当于一段具有某项功能的代码

函数的分类:

c语言标准委员会为C语言提供了一些基本功能,把这些基础功能分别封装成函数,包装成一个库(libc.so

  • 输入输出:
    scanf/printf/getchar/putchar/gets/puts

  • 字符串:
    strlen/strcat/strcpy/strcmp/strstr

  • 数学:
    sqrt/pow

  • 时间:
    time(NULL)获取到自1970年

  • 内存:
    malloc/free

  • other:
    rand/srand/system

系统函数

操作系统提供的一些功能,以函数形式使用(但不是函数),系统API.

第三方函数

JSON
MD5
XML
openCV
openGL
Qt/MFC

自定义函数

作用:

1、方便管理代码,编写程序时思路清晰。
2、代码复用,同一段代码可以不同位置多次执行。

函数声明:

返回值类型 函数名(类型 变量名,类型 变量名,...);

注意:

1、一般根据函数的功能来取函数名,全部小写单词之间用下划线分隔。

2、参数的个数、类型由函数的功能所需要的数据决定,被调用时由调用者提供,如果不需要则写void,不要空着。

3、返回值类型根据函数的结果类型决定,如果没有返回值则写void。

4、如果函数的定义出现在调用之前,声明可以省略。

5、函数声明时,参数的变量名可以省略。

6、如果不写返回值类型,则默认为int类型返回值。

函数定义:

返回值类型 函数名(类型 变量名,类型 变量名,...)
	 {

            函数体;

            return 数据;

        }

例如:

int sum(int a, int b)
{
	return a + b;
}

函数的调用:

   函数(数据1,数据2...);

返回值会在函数执行完成后放置在调用位置,处理方式:

1、存储到变量中,长期使用。
2、立即使用,可以显示或参与运算。

函数之间参数的传递(值传递):

1、调用者向被调用者传递,由实参向形参传递。
  • 函数中的命名空间都相互独立的,函数中的变量名可以重名。

  • 函数在调用时,其实是把实参给形参赋值。

  • 函数之间不能通过传递来共享变量。

  • 数组当作函数的参数时,长度会丢失,需要额外添加一个参数来传递它的长度。(会在指针中详细解释)

例如:

void func(arr[])	
{
	for(int i=0; i<sizeof(arr)/sizeof(arr[0]); i++)
 printf("%d\n",arr[i]); 
}
int main()
{	
   int arr[5] = {1,2,3,4,5};
func(arr);
}

此时函数在传递的时候丢失了长度,输出结果为1。

2、被调用者向调用者传递,使用return返回数据。
  • 不写return语句也会有返回人值。

  • 调用者和被调用者会约定一个空间用于存储返回值,return语句的功能就把一个数据存储到这个空间,如果不写return语句,调用者就会得到一个默认值(不确定)。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值