[C语言]函数

简介: [C语言]函数

1.函数的概念

什么是函数?其实在小学初中时候我们已经接触到了函数的概念,比如y=kx+b(一次函数)

不过在程序当中函数的概念又有所区别

编程最初是来自于美国,当时的英文单词为function,翻译为汉语为函数,还有的翻译为子程序其实更恰当一些,

在编程当中,所谓** 函数指的是实现某一小功能的一小段代码 **

函数的分类(函数包括库函数与自定义函数)

2.库函数

库函数的基本概念

最初的C语言,为了规范编程语言,规定了函数的使用标准以及一些细节,但是C语言并没有实践出这些函数,而是由编译器厂商来实现,这样就出现了一些由不同公司程序员写出的函数,然后C语言把这些质量很好的函数集成到一个库里,方便日后大家引用直接使用,因此库函数随之诞生。

库函数的查阅网站

库函数相关头⽂件:https://zh.cppreference.com/w/c/header

库函数文档查阅的基本模块

  1. 函数原型
  2. 函数功能介绍
  3. 参数和返回类型说明
  4. 代码举例
  5. 代码输出
  6. 相关知识链接

3.自定义函数

基本格式:

为了便于理解,举例表示

//自定义函数示例:编写一个简单的两个整形相加的自定义函数
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int add(int x, int y)
{
  return x + y;
}
int main()
{
  int a = 0;
  int b = 0;
  scanf("%d %d", &a, &b);
  
  int c = add(a, b);
  printf("%d", c);
  return 0;
}

形参和实参

什么是形参和实参

说白了,形参和实参不都是一种参数嘛,都是对应函数的一种参数,只不过形参是一种形式上的,实参是确确实实存在的参数

以上面的代码来举例,实参对应的就是

同样,形参就是自定义函数中我们所写的接收实参的形式参数:

形参和实参的关系:

实参把自己的参数传递给形参,形参用来接收实参的参数,虽然如此,两者有着独立的存储空间

为了证明两者存储的独立,我们不妨进行一个代码测试即可,(同样是上面的代码)

结论:实参和形参的存储是独立的

形参是实参的⼀份临时拷贝。

return语句

这里简要的介绍一下return语句的几个性质

1.return后面可以是数字也可以是表达式,如果是数字则返回值直接是数字,如果是表达式,则优先执行表达式,在返回对应的值

2.return后面也可以什么都没有,意思是什么都不返回,一般与返回类型设置为void的函数相呼应

3.如果return返回类型与函数的返回类型产生冲突,系统会强行把return的返回类型转换成函数的返回类型

4.return返回之后,函数彻底终结,直接跳出函数,函数后面代码不执行;而break则针对的是循环的彻底终结,并没有直接跳出函数。

5.如果if存在于函数之中,要确保每一种可能都要有return返回,避免编译错误

6.数组做函数参数(由于内容较多,下节再单独分析讲述)

7.嵌套调用和链式访问

1.什么是嵌套调用?

举个例子而言,你在主函数中调用printf函数这就是主函数嵌套printf函数的情况

2.什么是链式访问?

我感觉这个就是类似于多个函数的缩写,像链条一样将函数串联起来的情况

举个例子:

printf("%d",printf("%d",printf("%d",66)))

上述就是一种链式访问,不过比较简单哈,也可以链式不同的函数,这都可以的。

不过小伙伴们可以知道上述代码运行的结果吗?

answer:6621

because:想要细究答案,那得弄清楚printf的返回值是什么?

通过查阅,我们可以知道printf的返回值是打印数字的个数

8.函数的声明和定义(内容较多,下节以例子再单独讲)

ok,到这里就完成啦,希望多多指正啦~


相关文章
|
10天前
|
C语言 C++
C语言 之 内存函数
C语言 之 内存函数
24 3
|
1天前
|
存储 缓存 C语言
【c语言】简单的算术操作符、输入输出函数
本文介绍了C语言中的算术操作符、赋值操作符、单目操作符以及输入输出函数 `printf` 和 `scanf` 的基本用法。算术操作符包括加、减、乘、除和求余,其中除法和求余运算有特殊规则。赋值操作符用于给变量赋值,并支持复合赋值。单目操作符包括自增自减、正负号和强制类型转换。输入输出函数 `printf` 和 `scanf` 用于格式化输入和输出,支持多种占位符和格式控制。通过示例代码详细解释了这些操作符和函数的使用方法。
17 10
|
4天前
|
存储 编译器 C语言
C语言函数的定义与函数的声明的区别
C语言中,函数的定义包含函数的实现,即具体执行的代码块;而函数的声明仅描述函数的名称、返回类型和参数列表,用于告知编译器函数的存在,但不包含实现细节。声明通常放在头文件中,定义则在源文件中。
|
11天前
|
C语言
c语言回顾-函数递归(上)
c语言回顾-函数递归(上)
27 2
|
12天前
|
Java 编译器 C语言
【一步一步了解Java系列】:Java中的方法对标C语言中的函数
【一步一步了解Java系列】:Java中的方法对标C语言中的函数
16 3
|
16天前
|
存储 程序员 编译器
C语言——动态内存管理与内存操作函数
C语言——动态内存管理与内存操作函数
|
16天前
|
C语言
C语言字符(串)函数
C语言字符(串)函数
|
16天前
|
C语言
C语言函数返回值详解
本文详细解析了C语言中函数返回值的概念与应用。从函数的基本定义入手,深入探讨了不同类型返回值的作用及意义,并提供了实用的编程示例,帮助读者更好地理解和使用函数返回值。通过本文,你将掌握如何有效利用返回值优化代码结构与功能实现。
|
19天前
|
算法 搜索推荐 C语言
【C语言篇】深入理解指针4(模拟实现qsort函数)
【C语言篇】深入理解指针4(模拟实现qsort函数)
18 2
|
10天前
|
C语言
C语言函数
C语言函数
10 0