基于proteus的51单片机仿真实例三十七、C语言的函数参数传递
来源:互联网 发布:树莓派读取温湿度数据 编辑:程序博客网 时间:2024/05/29 07:49
1、在函数中的形式参数,在该函数未被调用时,他们并不占用内存中的存储单元。只有在发生函数调用时,函数的形参才被分配内存单元。在调用结束后,形参所占的内存单元也被释放。
实参可以是常量、变量或表达式,C语言要求实参必须有确定的值,在调用时将实参的值赋给形参。
2、从函数有没有形参来看,又可划分为无参数函数、有参数函数、空函数三种。
1)无参数函数
此种函数在被调用时不需要进行参数传递,主调函数没有数据传递给被调函数。无参函数可以返回、也可以不返回函数值
2)有参函数
调用此函数时,在主调函数和被调函数之间有参数传递。也就是说,主调函数可以将数据传递给被调函数使用,被调函数也可以有返回值,也可以没有返回值
3)空函数
如果定义函数时,函数体内没有任何语句,只有一对大括号{},则该函数为空函数。这种空函数在程序的设计过程中十分有用,设计程序时,可以先定义不同功能模块的函数体,不添加任何内容,在需要时,再添加相应内容。这样可以使程序的结构清晰、可读性好,并且易于扩充。
3、本例演示带参数函数的调用,并通过p0口显示运行结果
4、在keil c51中新建工程ex26,编写如下程序代码,编译并生成ex26.hex文件
//实例26:函数参数演示实验,通过P0口显示
#include <reg51.h>
//
void sum(unsigned char num1,unsigned char num2) //函数返回值类型为无符号字符型
{
unsigned char num3; //定义变量
num3 = num1 + num2; //求和
P0 = num3; //值送P0口显示
}
void sum(unsigned char num1,unsigned char num2) //函数返回值类型为无符号字符型
{
unsigned char num3; //定义变量
num3 = num1 + num2; //求和
P0 = num3; //值送P0口显示
}
void main(void)
{
sum(20,30);
while(1)
{
}
}
{
sum(20,30);
while(1)
{
}
}
5、在proteus中新建仿真文件ex26.dsn,原理图如下
6、将ex26.hex文件载入到at89c51中,启动仿真,运行结果如下图所示
0 0
- 基于proteus的51单片机仿真实例三十七、C语言的函数参数传递
- 基于proteus的51单片机仿真实例三十六、C语言的函数返回值
- 基于proteus的51单片机仿真实例三十八、C语言的函数调用
- 基于proteus的51单片机仿真实例十二、51单片机的C语言程序结构
- 基于proteus的51单片机仿真实例二十七、C语言的语句演示实例
- 基于proteus的51单片机仿真实例四十二、C语言的二维数组演示实例
- 基于proteus的51单片机仿真实例四十三、C语言的字符串数组演示实例
- 基于proteus的51单片机仿真实例四十四、C语言的结构体演示实例
- 基于proteus的51单片机仿真实例四十五、C语言的共用体演示实例
- 基于proteus的51单片机仿真实例四十六、C语言的枚举类型演示实例
- 基于proteus的51单片机仿真实例四十七、C语言的指针演示实例
- 基于proteus的51单片机仿真实例四十八、C语言的指针数组演示实例
- 基于proteus的51单片机仿真实例四十九、C语言数组的指针演示实例
- 基于proteus的51单片机仿真实例三十、C语言的for循环语句
- 基于proteus的51单片机仿真实例三十一、C语言的while循环语句
- 基于proteus的51单片机仿真实例三十二、C语言的do-while循环语句
- 基于proteus的51单片机仿真实例三十四、C语言的break语句
- 基于proteus的51单片机仿真实例三十五、C语言的continue语句
- html--演示颜色——超链接,背景图片
- java内存管理
- HTTP学习(四) 认证
- Mapbox Overview
- 求高精度幂
- 基于proteus的51单片机仿真实例三十七、C语言的函数参数传递
- 源码解析-集合-HashMap
- POJ 2253 Frogger
- 多播地址和端口会冲突吗?
- CCF NOI1139 高精度减法
- 基于proteus的51单片机仿真实例三十八、C语言的函数调用
- 基于proteus的51单片机仿真实例三十九、C语言的文件调用
- 【Angular2】@angular/cli默认端口号配置
- 基于proteus的51单片机仿真实例四十、C语言的文件调用