学习笔记——C语言基本概念&函数——(9)

本文详细介绍了C语言中的函数概念,包括函数的意义(封装和减少重复),分类(主函数、子函数和库函数),自定义函数的定义、声明和调用过程,以及形参和实参的关系,特别关注了值传递和地址传递的区别,以及static关键字在局部变量中的使用。
摘要由CSDN通过智能技术生成

今天开始函数的学习

目录

1、函数的基本概念

1.1函数的意义

1.2函数的分类

2自定义函数

2.1自定义函数的整个过程

函数定义

函数声明

函数调用

实参

形参和实参的关系

2.2函数传参

地址传递

2.3static的使用


1、函数的基本概念

1.1函数的意义

        概念:一个大的程序一般应分为若干个程序模块,每一个模块实现一个特定的功能,这些模块被称之为子程序,在c语言中子程序用函数实现。

作用:封装代码,减少重复

1.2函数的分类

        主函数:一个项目或者一个工程都有且仅有一个主函数,程序的运行都是从main函数开始,终止于main函数。

        子函数:

        库函数:标准库函数(系统函数)

                       非标尊库函数、第三方函数

        数库:

自定义子函数:自己写的函数;

2自定义函数

2.1自定义函数的整个过程

1-->函数的定义--函数实现功能的整个过程。

2-->函数的声明--告诉编译器,该函数存在。

3-->函数的调用--函数真正的运行。

函数定义

格式:

        返回值类型 函数名(形参类型        形参名,,,,)//函数头

{

        函数体;//实现真正的功能;

        return 返回值

}

返回值类型: 和 return 后面的具体的返回值保持一致即可;
无返回值: 返回值类型写 void;
注意: 返回值只能返回一个数!
函数名: 遵循标识符命名规则; -- 驼峰式 -- Dht11_Init , Fun
 

形参:
函数在定义的时候写在函数名后面的小括号种的参数, -- 形参
1--> 如果没有形参 -- ( void 或者不写)
2-->形参类型和形参名必须一一对应, (int a,int b)--局部变量
3-->形参列表也叫做定义变量, 在形参列表定义过的变量, 直接在函数体使用即可, 不
能再重复定义
 

函数声明

格式:函数头:

功能:告诉编译器,该函数存在

位置:放在调用它的函数的上面,一般统统放在main函数的上面。

函数调用

格式:

        返回值类型 变量名=函数名(实参);

        返回值类型和函数的返回值类型保持一致;

        变量名:符合标识符命名规则

        函数名:用于别调用的函数名;

实参

        函数被调用的时候,括号里面的提供的叫实参

        1-->如果没有形参,实参就不用提供,什么都不写

        2-->实参可以是变量、表达式、常量、地址,数组等

        3-->实参不能写数据类型

形参和实参的关系

        1-->形参的起始值来自于实参!

        2-->实参的个数和位置必须和参数一一对应,传参也按照对应位置传递。

        3-->形参和实参各自占用不同的内存空间

        4-->形参名和实参名可以一行,也可以不一样,各种是各自的局部变量。

函数调用的其他格式:

        有参有返: 返回值类型 变量 = 函数名(实参);
        有参无返: 函数名(实参);
        无参有返: 返回值类型 变量 = 函数名();
        无参无返: 函数名();

注意:
子函数执行: 只有被调用, 才能执行, 并且只有被调用计算机才分配空间;
子函数执行完, 空间会被释放
 

2.2函数传参

值传递:

形参的起始值来自于实参,形参的变化不会引起实参的改变。

举例说明:

原因:形参和实参各自占用不同的内存空间

地址传递

传递变量的地址,通过指针,改变指针指向的空间内容。

数组传参:属于地址传递,写数组名--数组名表示数组的首元素地址

2.3static的使用

全局变量和局部变量:
全局变量: 定义在函数体外部的变量
生命周期: 从定义处开始, 到当前.c 结束;
作用范围: 从定义处开始, 到当前.c 结束;
局部变量: 定义在函数体内部的变量
生命周期: 从定义处开始, 到当前函数结束;
作用范围: 从定义处开始, 到当前函数结束;
 

static 修饰局部变量: 延长生命周期! !
位置: 定义局部变量的时候!
被 static 修饰的局部变量:
生命周期: 和全局变量一样
作用范围: 从定义处开始, 到当前函数结束;
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值