C语言中的函数 | 库函数和自定义函数

写在前面:

今天我们需要学习和了解的是C语言中的函数,其中C语言的函数划分为库函数和自定义函数两种.接下来我们一起探究两者之间的关系.

一.C语言中函数的分类

  1. 库函数
  2. 自定义函数

二.库函数

库函数到底是什么呢?

顾名思义,可以通俗的理解为库里面的函数.这些函数都是频繁使用的,为了提高编程效率,将一些常用的函数封装成库,后面直接调用使用.

想要进一步了解C语言中库函数的同学可以移步下面的网站进行阅览:cplusplus.com - The C++ Resources Networkhttp://www.cplusplus.com/

 简单的总结一下,C语言中常用的库函数有:

  • IO函数
  • 字符串操作函数
  • 字符操作函数
  • 内存操作函数
  • 时间/日期函数
  • 数学函数
  • 其它库函数

下面我们就拿一些比较常见的库函数了解一下:

strcpy:字符串拷贝函数

    char* strcpy(char* dest,const char* src);

printf:输出函数

    int printf(const char* format,...);

memset:填充内存块函数

    void* memset(void* ptr,int value,size_t num);

注意:使用库函数时必须包含#include对应的头文件

二.自定义函数

自定义函数和库函数一样,有函数名,返回值类型和函数参数.但是不一样的是这些都是我们自己来设计.

函数的组成:

ret_type fun_name(paral,*){
    statement;
}

ret_type:返回类型
fun_name:函数名
paral:   函数参数

刚开始学,我们可以先写一个比较简单的自定义函数.比如:写一个函数找出两个整数中的最大值.

    int get_max(int x,int y){
        return x > y ? x : y;
    }

很多同学刚开始学函数的时候,都不知道返回值的作用是什么,该如何设置返回值.首先这个函数是我们自定义的,我们可以根据自己的需求对这个函数进行设计,设计的三个方面就是 函数返回值,函数名,函数参数.

三.函数的嵌套调用和链式访问

嵌套调用:在一个函数中调用另一个函数.

如下所示:

void new_line() {
	printf("hehe\n");
}

void three_line() {
	for (int i = 0; i < 3; i++) {
		new_line();
	}
}

int main() {
	three_line();
	return 0;
}

链式访问:把一个函数的返回值作为另一个函数的参数.

如下所示:

#include <stdio.h>
#include <string.h>
int main() {
	char arr[20] = "hello";
	int ret = strlen(strcat(arr, "bit"));
	printf("%d\n", ret);
	return 0;
}

四.函数的声明和定义

函数声明的作用:

  1. 告诉编译器有一个函数叫什么,参数是什么,返回值类型是什么.但是具体是不是存在,无关紧要.
  2. 函数的声明一般出现在函数的使用之前,要满足先声明后使用.
  3. 函数的声明一般要放在头文件中

函数定义的作用:

函数的定义是指函数的具体实现,交代函数的功能实现.

注意:函数定义在main函数之后,则需要在调用该函数前进行声明.为了代码的良好规范,最好在main函数之前进行声明.若函数定义在main函数之前则不需要声明.

除此之外还可以函数声明与定义分离:函数声明放在.h头文件中,如下所示:

test.h文件:放置函数的声明:

#ifndef __TEST_H__
#define __TEST_H__
//函数的声明
int add(int x,int y);
#endif 

test.c放置函数的实现:

#include "test.h"

int ADD(int x,int y){

    return x+y;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值