嵌入式学习Day9---C语言提升

目录

一、函数传递 

1.1.值传递

        1.定义:当函数内部想要使用外部变量的值是就要使用值传递。

        2.注意点

                1)值传递时,实参将值传递给形参,形参时实参的副本,对形参做的操作不会影响实参。

                2)值传递,不能实现修改外部变量的功能。 

1.2.全局变量传递

        定义全局变量,这样全局变量不管时函数内部调用还是其他在本文件内部的调用,均可以直接使用,不需要传递参数 。

1.3.整型数组传递 

         1.形式

                1)形式1        int fun(int a[5]);

                2)形式2        int fun(int a[], int len);

        2.注意点

1.4.字符型数组和字符串传递

        1.形式

二、递归函数 

2.1.什么是递归函数

2.2.注意点 

        1.递归一定要有结束条件 

        2.避免深层次递归

三、预处理命令

3.1.宏定义

        1.不带参

        2.带参宏(宏函数) 

3.2.头文件包含 

 1.形式

2.头文件以.h结尾

        1.头文件中存放宏定义         2.头文件中存放声明的全局变量和全局函数        3.头文件中存放自定义的数据类型  

四、总结


一、函数传递 

1.1.值传递

        1.定义:当函数内部想要使用外部变量的值是就要使用值传递。

        2.注意点

                1)值传递时,实参将值传递给形参,形参时实参的副本,对形参做的操作不会影响实参。
                2)值传递,不能实现修改外部变量的功能。 

1.2.全局变量传递

        定义全局变量,这样全局变量不管时函数内部调用还是其他在本文件内部的调用,均可以直接使用,不需要传递参数 。

1.3.整型数组传递 

         1.形式

                1)形式1        int fun(int a[5]);
                2)形式2        int fun(int a[], int len);

        2.注意点

                1)形式1只能操作5个元素的数组,形式2可以操作不同类型长度的数组 ;

                2)函数体内部的数组会随函数结束被回收,如果后续还想操作该数组必须在外部定义传到函数中;
                3)数组传递中,形参操作和实参操作的是同一个数组;

1.4.字符型数组和字符串传递

        1.形式

                int fun(char ch[]);

二、递归函数 

2.1.什么是递归函数

        函数定义时调用函数本身

2.2.注意点 

        1.递归一定要有结束条件 

        2.避免深层次递归

三、预处理命令

3.1.宏定义

        1.不带参

                #define PI 3.1415

        2.带参宏(宏函数) 

                #define ADD(x,y) x+y

                与函数的区别

                    1)函数有参数类型、返回值、传参的概念
                    2)带参宏没有参数类型、返回值、传参的概念
                    3)带参宏是在程序编译阶段加载到程序中 
                          带参宏可能改变运算符的优先级,记得加括号
                    4)函数是在程序运行阶段加载到程序中
                    5)带参宏会使代码体积增大
                    6)函数不会使代码体积增大    
                    7)带参宏执行效率高
                    8)函数执行效率低 

3.2.头文件包含 

 1.形式

        #include <stdio.h>
        在预处理阶段将stdio.h头文件展开到文件中

        在/usr/include目录下查找stdio.h 

       #include "stdio.h"

        在当前目录下查找stdio.h;  

        如果当前目录找不到则在系统目录/usr/include目录下查找头文件

2.头文件以.h结尾

        1.头文件中存放宏定义 
        2.头文件中存放声明的全局变量和全局函数
        3.头文件中存放自定义的数据类型 
 

四、总结

        2024年7月20日 ,嵌入式学习第9天。收获满满,对于函数传参问题,搞清楚了变量与数组传参的区别,以及宏定义和头文件是怎么回事。

        加油!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值