永发信息网

明明定义参数了,为什么编译说没有定义

答案:1  悬赏:0  手机版
解决时间 2021-03-26 04:50
明明定义参数了,为什么编译说没有定义
最佳答案
函数由两部分组成:声明部分和执行语句。声明部分的作用是对有关的标识符(如变量、函数、结构体、共用体等)的属性进行说明。对于函数,声明和定义的区别明显,函数的声明是函数的原型,而函数的定义是函数功能的确立。对函数的声明放在声明部分中,函数的定义不在函数的声明部分范围内,是一个文件中的独立模块。对变量而言,声明与定义的关系稍微复杂。声明部分出现的变量有两种情况:一种需要建立存储空间的(如inta;);一种不需要建立存储空间的(如externinta;)。前者称为定义性声明(definingdeclaration),简称为定义(definition)。后者称为引用性声明(referenceingdeclaration)。声明包括定义,并非所有的声明都是定义。对“inta;”而言,定义性声明,建立存储空间的声明称为定义,不需要建立存储空间的声明称为声明。指的声明是狭义的,即非定义性声明。例如:intmain(){externinta;//这是声明不是定义。声明a是一个已定义的外部变量}inta;//是定义,定义a为整型外部变量外部变量定义和外部变量声明的含义不同。外部变量的定义一次,位置在所有函数之外,而同一文件中的外部变量的声明可以有多次,位置可以在函数之内,也可在函数之外。系统根据外部变量的定义分配存储单元。对外部变量的初始化只能在定义时进行,而不能在声明中进行。所谓声明,作用是向编译系统发出一个信息,声明该变量是一个在后面定义的外部变量,提前引用该变量而作的声明。extern只用作声明,而不用于定义。static来声明一个变量的作用有二:对局部变量用static声明,变量在本函数调用结束后不释放,整个程序执行期间始终存在,使其存储期为程序的全过程。全局变量用static声明,变量的作用域只限于本文件模块(即被声明的文件中)。用auto,register,static声明变量时,定义变量的基础上加上关键字,不能单独使用。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
你好,请问文言文中三尺是什么意思,谢谢
I an good at swimining怎么改成疑问句
老公愚孝了我该怎么办
我家燃气热水器总是自己启动,怎么回事儿呀?
马丁博格,高支纯棉衬衫价格
自建房承重柱和大梁尺寸多大 怎么配筋 主要是
以前别人教过我一个魔术,是叫别人选一张牌,
圆口在上方大脸在下方卡着千里眼一副怪摸样
无缝钢管L245N材质是什么意思
怎么看淘宝即将上架商品
2014年所有的动漫番剧,只要战斗类的。(高达
车厘子上市时间是几月份,哪里产的最好吃
形容一个人掀不起大风大浪来,求成语
继续求教,在混沌温床那了,不知道怎么打
我网站被挂马怎么办?
推荐资讯
EMBA在职研究生毕业学员可以考博士吗
形容猫|的词语
心动幡动是什么意思
试管一代,二代怎么选择
我是什么心态 云南我永远精神上支持你~捐款
三星i559手机怎么刷屏
威百亩的注意事项
西成高铁为何被称为中国最穿越的高铁?
请问广州哪里有电动车批发市场,本人想做电动
我附近密约密码忘了,怎样找回
求助!关于psv玩武士与龙和其他在线游戏
哲学基本问题与历史观基本问题的关系是什么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?