• 首页
  • 行业
  • 财经
  • 综合
  • 热点
  • 科技
  • 商业
  • 要闻
  • 观点
  • 经济
  • 社会
  • 法治
  • 文旅
  • 体育
  • 健康
  • 生活
  • 国际
  • 国内
  • 教育
logo
  • 汽车 >
  • 正文

这样看C函数才对

2023-07-06 17:43:31 来源:博客园


(相关资料图)

什么是函数?从定义来看,函数就是一段可以重复使用的代码块,比如下面这样
void hanshu(){    int a = 0;    int b = 3;}
这时候就应该有人要跳出来了,这是什么**!确实,作为一个强烈反对屎山代码存在的编程者来说,一个好的函数应该是一个有着合理命名,并且功能紧凑的功能块,而不仅只是一份可以重复调用执行的代码。像下面这个一眼能看出其功能和实现逻辑才算是一个好函数。
int add(int num0, int num1){    return (num0 + num1);}
有了以上的认识还不够,我们应该更加剖根究底的看一下。总的来说,计算机是一个可以输入输出的系统,每个具体的项目产品也是,函数作为这座大山的基本组成单位,自然也是个系统。函数既然是一个系统,则就应该有一个系统视角的认识和理解。传统意义来讲,一个函数的输入,就是它的形参,一个函数的输出就是它的返回值,对上面Add()函数来说,num0和num1就是输入,return (num0 + num1)则是输出。因为语言功能的限制,使得用以上规则写出的函数有些死板,不能灵活应对多变的编程需求,比如返回值无法直接返回一个数组,想要通过返回值返回一个数组往往需要有堆区空间的配合。换个视角看函数输入输出虽然用传统的方法来使用函数更符合每个人的编程习惯,不过有时候我们需要打破这种规范。函数作为一个有输入输出的系统,我们也可以用形参或者全局变量当作为函数的输出。
// 用形参作为函数输出void add(int num0, int num1, int &ret){    *ret = num0 + num1;}// 用全局变量作为函数输出int ret;void add(int num0, int num1){    ret = (num0 + num1);}
同理,对于函数的输入,也不必拘泥于形参的输入,全局变量也应该算入。虽然以上的方式写出的函数看起来有些别扭,但是在一些情景中却是很管用的,尤其是将形参作为函数输出的方式在 Linux 的系统调用中常常能看见其影子。对于函数的灵活使用能让我们应对各种灵活的场景,也能进一步提高对于语言的理解。
责任编辑:{ij7}

    为您推荐

  • 这样看C函数才对

    什么是函数?从定义来看,函数就是一段可以重复使用的代码块,比如下面
  • 啪啪打脸,海口华润再曝“质量门”!

    近日,关于华润海口的话题又炸了!从海口华润中心到华润时光里,华润在
  • 新华全媒+丨重庆万州:安置长滩镇受灾居民

    新华全媒+丨重庆万州:安置长滩镇受灾居民---7月3日至4日,重庆市万州
  • 构建高质量发展模式,番禺区发布特殊教育三年提升行动计划

    近日,番禺区政府官网公布《番禺区特殊教育三年提升行动计划(2023—20
  • 曼城、热刺、波尔图等世界知名俱乐部青训队伍将齐聚申城

    ”上海足坛名宿成耀东表示,中国足球的未来在青少年,明日之星比赛可以
  • 外交部:菲海警船未经中方允许擅闯仁爱礁附近海域,中国海警船依法执法

    外交部发言人汪文斌。薛伟摄中国外交部发言人汪文斌7月6日主持例行记者
  • 怎么做到一键AI绘画?其实可以这样做

    2 自己训练AI模型如果你对编程和机器学习有一定的了解,那么你可
  • 视点!商务部:1-5月我国服务贸易逆差4091亿元

    商务部今日召开例行新闻发布会。新闻发言人束珏婷在会上表示,1-5月,
  • WAIC2023开幕 广东科技企业带来“镇馆之宝”!

    7月6日,2023年第六届世界人工智能大会(简称为“WAIC2023)在上海开幕
  • 焦点!商务部:拟于7月11日-14日赴内蒙古开展“跨国公司内蒙古行”活动

    证券时报网讯,商务部今日召开例行新闻发布会。新闻发言人束珏婷在会上
  • 雅士利私有化退市背后:提升融资能力,蒙牛加速奶粉业务重塑

    雅士利上市生涯结束。自7月5日下午4时起,雅士利于港交所的上市地位将
  • 【天天新视野】华西证券给予罗曼股份买入评级,主业景观照明恢复,新能源+虚拟现实显弹性

    华西证券07月06日发布研报称,给予罗曼股份(605289 SH,最新价:39 8
  • 全球时讯:深圳前海联捷商业保理:决定对“金联04次”展期

    “金联04次”展期
  • 香港区议会修例草案三读通过,贯彻落实“爱国者治港”

    香港特区立法会今日(6日)三读通过《2023年区议会(修订)条例草案》
  • 意外!本赛季亚冠赛事已成烫手山芋,亚足联主动贴钱游说泰国承办

    只是泰国对于承办亚冠赛事兴趣不是很大,因为亚足联给亚冠承办地的办赛
  • 石家庄医学高等专科学校官网(石家庄医学高等专科学校)

    相信目前很多小伙伴对于石家庄医学高等专科学校都比较感兴趣,那么小搜
  • 2023我省养老金调整方案(最新)公布了吗 黑龙江养老金上调方案是怎么计算的?

    黑龙江省人社厅官网2023养老金上调方案细则今日还未公布。今年5月22日
  • 中超联赛:天气原因 北京国安对阵深圳队比赛时间推迟

    2023中国平安中超联赛比赛公告因天气原因,为保证赛事安全顺利进行,经
  • 40年产权住宅的水电费标准是什么?70年产权住宅的水电费标准是什么?

    40年产权住宅的水电费标准是什么?40年产权住宅的水电费是按照商业用水用电的标准来收取缴纳的,居住生活成本会更高一点。70年产权住宅的水
  • “孤儿怨”反转!夫妇称收养女童是成年变态,他们才是恶魔?

    2019年,报姐和大家说过一个细思恐极的故事:一对美国夫妇领养了一个年
  • 2023年四川省养老金上调方案公布最新消息没 四川2023退休工资每月涨多少钱

    2023年四川省养老金上调方案今日还未公布。随着7月的到来。毫无疑问,
  • 北京市高招录取今日启动

    北京市高招录取工作将于7月6日至29日进行,全部实行远程网上录取。
  • 70年产权的房屋到期后如何续期?40和50年产权的房屋到期后如何续期?

    70年产权的房屋到期后如何续期?房屋土地使用年限到期后,房屋的产权人只要跟国家续签土地即可,70年产权的直接续期。40和50年产权的房屋到
  • 咸阳北路公交场站力争下半年移交后投入使用

    天津北方网讯:《政民零距离》栏目网民“孙**”留言:新建设的咸阳北路
  • 致4死13伤 山西一公交车发生事故 当地最新通报_天天观热点

    据央视新闻报道,记者从山西省相关部门了解到,7月5日下午,山西省吕梁
  • 焦点精选!【头条】我市召开防汛工作推进会

    点击上方“德惠融媒”关注我们7月5日,我市召开防汛工作推进会。对防汛
  • 中潜退进行退市整理,细看龙虎榜席位操作(07-06)

    深交所2023年7月6日交易公开信息显示,中潜退因属于退市整理的证券而登
  • 【世界新要闻】宣城广德:“老有所学”在行动 照亮夕阳生活

    为深入推进“老有所学”暖民心行动,满足老年人的多元化需求,广德市积
  • 契税滞纳金取消了吗?契税滞纳金最高罚多少?

    契税滞纳金取消了吗?契税滞纳金没有取消,只不过做了几次调整后,契税和滞纳金都有所降低。特别是房屋面积低于九十平方的房子,契税只需要
  • 土地使用年限和产权年限一样吗?土地使用年限如何计算?

    土地使用年限和产权年限一样吗?土地使用年限和产权年限不一样。土地使用年限指的是国家根据土地的不同用途卖给开发商的使用年限,只有使用权

相关推荐

  • 这样看C函数才对
  • 啪啪打脸,海口华润再曝“质量门”
  • 新华全媒+丨重庆万州:安置长滩镇受
  • 构建高质量发展模式,番禺区发布特
  • 曼城、热刺、波尔图等世界知名俱乐
  • 外交部:菲海警船未经中方允许擅闯
  • 怎么做到一键AI绘画?其实可以这样做
  • 视点!商务部:1-5月我国服务贸易逆
  • WAIC2023开幕 广东科技企业带来“
  • 焦点!商务部:拟于7月11日-14日赴

阅读排行

  • 创新“深”态第30期丨抢抓AI发展机遇 游戏机零部件供应商致尚科技将登陆创业板-环球观热点
  • 天天视讯!全年新培育专精特新中小企业1000家以上 山东先进制造业“2023突破提升年”要这么干
  • 揭阳惠来大力发展新型储能项目 为高质量发展积蓄动能_世界热文
  • “赢麻了”!周杰伦连开4天演唱会 这地“狂赚”近10亿,比“五一”挣得还多!政府专门成立指挥部 环球即时看
  • 买商品房一般需要缴纳哪些税费?买商品房七十年产权到期后怎么办?
  • 豆瓣 3.3,毁童年啊毁童年-快播报
  • 小米小爱建议终于适配联发科机型:Redmi K50系列等都有
  • 安娜苏香水怎么辨别真假(安娜苏香水)
  • 红色绿豆汤和绿色绿豆汤的区别有什么?绿豆汤是绿色的好还是红色的好?
  • 疑曾与中国核潜艇交手,美军上将爆料,中美水下战力还差多少年?

291 32 36@qq.com

Copyright © 1998-2015 by 中国北京网版权 所有 京ICP备12018864号-3

营业执照公示信息