嵌入式 从入门到精通 第九天

1.函数:
        1.避免重复性代码
        2.函数可以让程序代码模块化
        3.程序始终是从main函数开始调用·1
    1.函数的定义:
        函数的类型   函数名(数据类型1 形式参数1,数据类型2 形式参数2)
        {
        
             return 返回值;
        }
        函数类型:函数运行结果的类型
                in float double char void
                1.函数类型如果不写,默认为int类型
                2.函数如果返回值缺省,应该写void类型
                3.函数类型应该与返回值的类型一致,如果不一致以函数类型为准
        函数名:
            1.由字母,数字和下划线构成,不能以数字开头
            2.不要与c语言关键字重名
            3.最好不要与c语言库函数重名        
            4.最好做到见名知意(动宾形式)
                GetMaxNum
                GetMinNum
                GetAvgNum
                
            
    2.函数的调用:
        1.函数名(实际参数1,实际参数2,  .........);
        注意:
                1.实参的个数和形参必须一一对应
                2.实参可以是常量,变量,表达式
                3.函数调用时会发生实参向形参空间的拷贝,实参将值拷贝给形参(一一对应),
    3.函数的声明:
        可以把声明放在开头提醒编译器有这个函数
    4.变量作用域和生存周期:
        1.作用域
            变量的作用域只能在离定义他最近的两个大括号内    
            局部变量:变量作用域在某个大括号范围内
            全局变量:变量作用域在整个文件中
                        全局变量在所有函数的外面定义
        2.生存周期:
            变量从中间被开辟到被回收的整个过程称为生存周期
            存储类型 数据类型 变量名;
            1. auto :默认存储类型
                自动型变量,也叫作局部变量
                将变量存放在栈区
                1. 未经初始化前值为随机值
                2.代码执行到变量定义时为变量开辟空间
                3.超过变量作用域范围,回收变量空间
            2.register
                寄存器变量
                1.在cpu内部的寄存器中,如果寄存器存满了,会将变量放在栈区
            3.extern
                外部变量
                声明一个变量为外部存储的变量 
            4.static
                静态变量
                在变量存放在数据区
                1.未经初始化值为0值
                2.编译时开辟空间,程序运行时加载该空间
                3.程序结束回收空间
            static作用:
                    1.将变量定义为静态变量
                    2.可以将变量的作用域限定到本文件中
                    3.可以放置多个文件全局变量名冲突
            静态变量和全局变量
        3. 栈区: 
            1.用来存放局部变量 形参和返回值
            2. 程序结束完后就销毁
        4.数据区                 
            1.未经初始化前值为0值
            2.在编译时分配空间
            3.在程序结束时,回收空间
5.递归函数:
    函数定义是调用函数本身
        1.递归一定要有结束条件,
        2.避免深层次的递归
        
6.函数的传参:
    1.赋值传递(复制传递)
        实参将拷贝一份给形参,形参是实参的副本,形参的值发生改变不会影响实参
        函数体内部想使用函数体外部变量的时候使用复制传递
    2.全局变量传递
7.数组传递:
    int a[5];
    1.形式一:
        int Fun (int array[5]);
    2.形式二:
        int Fun (int array[5],int len);
        注意:
            数组传递时,函数体内部形参操作的数组和实参操作的数组为同一数组
        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值