找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 839|回复: 6
打印 上一主题 下一主题
收起左侧

想问一下C语言带参数函数和不带参数函数的区别和优势?

[复制链接]
跳转到指定楼层
楼主
ID:99130 发表于 2022-2-25 15:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想问一下单片机C语言带参数函数和不带参数函数的区别和优势。带参数函数是更方便吗?区别在哪?最近在复习,看到这一章的时候卡壳了,请大神们解答一下,学习学习,谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:277550 发表于 2022-2-25 17:03 | 只看该作者
没什么优劣可以说,业务逻辑的需求,就带参数
回复

使用道具 举报

板凳
ID:99130 发表于 2022-2-25 17:04 | 只看该作者
devcang 发表于 2022-2-25 17:03
没什么优劣可以说,业务逻辑的需求,就带参数

啊?这样啊
回复

使用道具 举报

地板
ID:401564 发表于 2022-2-25 17:57 | 只看该作者
这本来就取决于实际的需要
像单片机初始化这种操作,是没有必要带参数的
IIC的读写那就是带参数的好点,你非得不带也行,就在函数中使用全局变量,这就让一件原本比较简单的事,变得更复杂了
回复

使用道具 举报

5#
ID:123289 发表于 2022-2-26 10:30 | 只看该作者
其它没有参数这一说!参数仅是人为的叫法。
1、每个程序(也叫函数),都有一个目的!可以这样认为:输入了什么【条件】?程序需要输出什么【目的】。这里的【条件】【目的】就是所谓的“参数”!
2、对于单片机而它只认识内部(叫寄存器、存储器……都可),二进制码,它不懂何为参数,即对它而言没有参数这一说。而【条件】【目的】必须用二进制码来表达,且必须、也只能放内部某个地方!
3、程序A与程序B之间的交流只能通过【条件】【目的】进行。
4、如果程序B,是固定的做一个事,例如:让端口1灯亮。则它就不需要参数。
     如果程序B,是根存寄存器A中的值,来决定端口1灯是亮是暗的。则存寄存器A中值就是【条件】参数。这就需要你运行程序B之前,先将向寄存器A中放入灯是明是亮的值。
     如果程序B更复杂,复杂到需要在指定的内存中某地方放入“灯亮的状态”让你去取时,这就是”【返回参数】。
答案:函数带不带参数,无需区别,也无所谓优势。完全取决于程序的功能(需求)。带参数的,需要求按程序的规定配制参数,当然达成的【目的】更为机动、灵活。不带参数的无需配制参数,简捷。带与不带视程序的功能、需求而定,不是你能刻意决定的。
回复

使用道具 举报

6#
ID:434018 发表于 2022-2-26 13:53 | 只看该作者
可思考指令的执行过程速度,再决定作法
回复

使用道具 举报

7#
ID:1006960 发表于 2022-2-26 16:27 | 只看该作者
带参数不带参数,有没有返回,返回什么类型,都是按照实际来的。比如简单的,你调用的函数需要处理一个数据,做一些计算什么的,那就可以带参数,处理完可以返回计算结果。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表