应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

源程序源文件及程序的执行

  源程序
  C源程序是一条或多条指令、说明和或定义的集合。指令说明在编译之前C的预处理程序处理程序正文时所应执行的特殊动作,说明建立程序所使用的变量、函数和类型的名字和属性。
  定义也是定义变量和函数的说明。变量的定义除了给出所说明的变量的名字和类型外,还要给出它的初值,定义迫使变量分配存贮空间。函数的定义说明函数体,它由说明和构成函数的语句组成7个复合语句,函数的定义还给出函数的名字、形式参数和返回值的类型。
  可以有任意数目的指令、说明和定义,每一个都必须满足在本书中所描述的相应的语法。在程序中它们能以任何顺序出现,虽然顺序对程序中如何使用变量和函数有一定影响。
  有效的程序至少有一个定义和一个函数定义,函数给出程序的动作。下例是一个简单的C源程序。
  该源程序定义了名为main的函数,说明了函数printf,变量X和y用变量定义的方法定义,而变量z和w仅仅是被说明而已。
  源文件
  源程序可以分成一个或多个彼此独立的源文件。一个c源文件是包含一个c源程序的全部或部分的正文文件。例如它可以只包含程序所的几个函数,当编译源程序时,构成源程序的所有源文件必须单独编译,然后再连接。使用第八章预处理程序指令所介绍的ttinchMle指令可以把彼此独立的源文件组合起来,形成一个大的源文件。
  源文件可以包含完整的指令、说明和定义的任何组合,诸如函数定义或大的数据结构之类的项不能分于多个源文件中。
  源文件可以不包含任何可行语句。有时要把变量的定义放在一个源文件中,而将对这些变量的引用的说明放在另一个文件中是有用的,这使得定义易于查找和修改。同样,人们也常常把常数和宏(在第八章预处理程序指令中讨论)组织到一个include文件中,而在需要的时候再插入到源文件中。
  源文件中的指令只对该文件自身和它所包含进来的文件起作用,而且只对文件中跟在它之后那部分正文有用。如果要使一组指令对源程序起作用,那么程序的所有源文件都必须包含这组指令。
  下面是一个有两个源文件的源程序的例子。定义函数main()和max()分别在不同的源文件中,而程序的执行从函数main()开始。
  在第一个源文件中,函数max()只被说明而未被定义,这就是众所周知的向前说明。函数main()的定义中包含对max()的函数调角。
  以开始的行是预处理程序指令,这些指令告诉预处理程序用第一源文件中指定的整数去替换标识符ONE、TWO和THREE。这些指令对第二个源文件没有用。第二个源文件包括函数的定义,该定义满足第一个源文件中对max()的调用。一旦把源文件加以编译,就可以把它们连接成一个程序并投入运行。
  程序的执行
  每个程序必须有一个主函数(main),该函数用于程序执行的入口点,而且通常是通过直接调用程序中的其它函数来控制程序的执行。程序通常是执行到主函数的末尾便停止了,当然程序也可以在其它点停止,这取决于运行的环境。
  源程序常常有多于一个的函数,每个函数完成一个或几个指定的任务,main()函数可以调用这些函数去执行任务。当调用一个函数时,就从被调用函数的第一语句开始执行,当执行到return语句或走到函数末尾时,函数就将控制权归还给调用它的函数。
  所有的函数,包括main()函数,都可以说明成带参数的,由其它函数调用的函数从调用函数处收到参数的值。而函数main()的参数可以说明成从程序的外部环境(例如,当执行程序时,从命令行传递参数的值)传递值。
  习惯上,主函数的头三个参数的名字说明成argc,argV和envp。参数argc记录传递给主函数的自变量的总数;参数argv是一个指针数组,每个元素指向传递给函数main()的一个自变量的字符串表示;参数envp是一个指针,它指向建立程序运行的环境的字符串值所组成的一个表。
  操作系统为argC,argv和envp三个参数提供值,而用户为主函数提供实际的自变量。在特定系统上所使用的传递自变量的约定取决于该系统,而不是取决于C语言。

Facebook即便影响到未来收益也不忽视平台滥用问题据外媒报道,在出现华盛顿特区立法者面前对俄罗斯试图利用其平台干预2016年美总统大选等事宜进行作证之前,Facebook就已经成为了各媒体关注的焦点。这家公司指出,俄罗斯机构在……喝点水就要上厕所,是不是肾出现问题了?尿频可考虑这2种情况多喝热水都快要成为社交口头禅了,但确实对于人体来说,每日保持一定饮水量是非常重要的。特别是到了秋冬的时候,天气干燥,更需要补充水分了。但是也有不少人反应说一喝完水就想上厕所,有……亚马逊iOS应用中增加AR功能可看商品摆放效果据报道,亚马逊今天推出了一项名为ARView的新功能,让用户可以借助智能手机摄像头把网上的商品虚拟放置在自己的家中。这项功能已经嵌入在iOS版亚马逊应用中,用户可以借此看到成千……联发科终获谷歌认可!安卓8。0系统迭代再不输高通长久以来,联发科芯片的安卓版本迭代慢而且非常容易放弃老用户,现在看来,局面将要改善。据媒体报道,联发科昨日宣布,正式进入谷歌的GMSExpress项目,成为第一方的SoC……围观!中华小当家续篇来了11月17日连载20年前最经典的日本漫画突然宣布复活,这引来不少网友的围观。没错,小川悦司执笔下的《中华小当家》已经开始重新连载,而正式开始时间定为11月17日,而新篇就叫《中华小当家!……试管婴儿经验贴之开验单(2)在去开验单前台之前,一定要确保夫妻双方的病历本均由医生写上可以开始进入试管婴儿流程之类的话语。要不然开验单的工作人员不受理。我之前不知道,也没有人告知这一点。当时只有我的病历本……心疼微软5分钟Edge浏览器连续俩月暴跌被IE羞辱作为软件帝国,作为曾经的霸主,微软现在的日子其实并不是太好过。Windows10系统普及率迟迟上不去,想超越Windows7几乎不可能;全新打造的Edge浏览器也是没人搭理,份……网易终结者2审判日安卓机型增至214款人气爆满据报道,今天上午11点,网易手游《终结者2:审判日》新一轮安卓内测开启,几乎所有安卓机都可下载进行游戏,无需激活码。根据官网信息,本次测试兼容机型已经暴增至214款,笔者……百度网盘安卓8。0版发布文件夹更好用!各路网盘纷纷倒下,百度网盘如今已经成了为数不多的选择之一。今天,百度网盘发布了全新的安卓客户端8。0。0版本,变化非常多,也非常实用,尤其是文件夹和相册功能大大增强,还新增了卡……绝地求生反外挂机制再迎更新官方誓要严打作弊为了打击外挂,《绝地求生》的封号力度有目共睹,17天就已经封掉了近20万个账号,但这依旧无法阻挡使用外挂者的嚣张气焰,如何从根上打击外挂成了迫在眉睫需要解决的问题,今日,《绝地……我的世界故事模式第二季第4章将在下周上架今日Telltale宣布《我的世界:故事模式》第二季第4章将在下周上架,具体时间为11月7日登陆XboxOne和Windows10平台,《我的世界:故事模式》第二季预计包含5章……父母和孩子亲密无间或许并不是好事,这几个原则家长要注意4月7日的晚上11点多,杭州的一位妈妈报警,说自己的女儿拿着一把剪刀和爸爸在房间里对峙。后来经了解知道,当天下午两点的时候,爸爸看到女儿还在床上躺着,并没有准备上网课,于是用手……
支持4K的帝国时代Windows10PC版正式发布经过数次跳票的20年前的经典即时战略游戏《帝国时代》的4K重制版《帝国时代:决定版》终于正式发售。该游戏的Windows10PC版已经正式登陆MicrosoftStore,国区……技术有限?暗黑之父称暗黑2很难登陆现代PC!《暗黑破坏神2(DiabloII)》是《暗黑》系列中最经典的一部,也是粉丝们最希望能高清重制的作品,然而暴雪至今始终未能将其带到现代平台。近日暴雪北方的联合创始人兼《暗黑》之父……宝宝一直都是随饿随吃的,怎么养成一日三餐按时吃饭的好习惯?想养成一日三餐按时吃饭的习惯,就不能随时随地给宝宝吃东西,不能想吃就吃。我家是这样安排的,早上起来喝奶粉,加一个鸡蛋,如果还不够,稍微加点主食。早上起的晚或者早餐量……绝地求生大逃杀主播决赛偶遇粉丝烟雾平底锅决斗?《绝地求生大逃杀(PlayerUnknownrsquo;sBattlegrounds)》主播Throop在经过紧张刺激的搏杀之后终于进入了1V1决赛圈,他端起了狙击枪准备结果最……龙珠斗士Z最强赛亚人肌肉大到快撑破万代南梦宫近日确认《龙珠斗士Z》的DLC将加入两名新角色,他们分别是悟空的父亲巴达克以及传说中的超级赛亚人布罗利。《龙珠斗士Z》巴达克参战:《龙珠斗士Z》布罗利参战……打造游戏版Netflix云端游戏平台Shadow美国上线法国初创公司Blade的云端游戏平台Shadow正式登陆美国,该服务致力于打造游戏版的Netflix服务,Shadow服务订阅Shadow云端游戏平台此前已经在欧洲的比利时、法……不知我的苦,别劝我大度作者知书先生来源知书先生(ID:svop133)生活中,你是不是也常常遇到这样的事:明明是朋友欠你钱不还,你却被劝说他家困难嘛,你就多体谅一下;明明是亲戚一再……自闭症儿童睡眠问题睡眠问题在谱系障碍儿童(ASD)中非常普遍,据报道在患有ASD的儿童中高达80。在正常发育的儿童中,睡眠问题和睡眠不足会导致白天嗜睡、学习问题和行为问题,例如多动、注意力不集中……AVTEST评选2018年1月Android平台最佳防病毒软鉴于Android恶意软件的持续增长,在移动设备上运行防病毒软件已成为必不可少的,但通过遵循简单的做法,例如仅从可信来源安装应用程序,保持智能手机的安全也是可能的。但是,对于想……腾讯光荣使命大数据新鲜出炉3500万人被车辆淘汰虽然两款《绝地求生》手游都已开放下载,不过腾讯首款百人战术竞技手游却是《光荣使命:使命行动》,这款手游拿下全网预约超过4000万的佳绩。具体该游戏上线已有近3个月,昨晚官……能靠玩家续一波?最终幻想15PC版首发将支持MOD近日SE在PCGamerWeekender活动上透漏了《最终幻想15(FinalFantasyXV)》PC版的新消息。据SE,《最终幻想15》PC版游戏中将有专门为PC玩家打造……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网