声明与申明的辨析_声明和申明有什么区别_观点
2023-04-18 13:47:49 来源:互联网
(相关资料图)
1、如果是指变量的声明和定义:从编译原理上来说,声明是仅仅告诉编636f70793231313335323631343130323136353331333264656665译器,有个某类型的变量会被使用,但是编译器并不会为它分配任何内存。
2、而定义就是分配了内存。
3、对于下面的两句代码:void Func(){int a;int b=1;a=0;}对于第一行代码,编译器不会做任何事,它不会为它在栈中分配一点东西,直到第三句,a=0;时,编译器才会将其压入栈中。
4、而对于int b=0;这一句,编译器就会生成一条指令,为它赋值。
5、如果反汇编,看到的代码可能是这样的:push 1; push 0;当然,并不一定编译器就会样做,也有可能在声明int a时,编译器就会把一个废值入栈,到第三条再为其赋值,这要看编译器的具体取舍,所以,声明不一定不是定义,而定义一定是定义。
6、但是,下面的声明,一定仅仅是声明:extern int a;这表时,有一个int变量a,它一定是在另外其他地方定义的,所以编译器此时一定不会做什么分配内存的事,因为它就是声明,仅仅表明下面的代码引用了一个符号,而这个符号是int类型的a而已。
7、 如果是指函数的声明和定义:声明:一般在头文件里,对编译器说:这里我有一个函数叫function() 让编译器知道这个函数的存在。
8、定义:一般在源文件里,具体就是函数的实现过程 写明函数体。
本文分享完毕,希望对大家有所帮助。
[责任编辑:]
相关阅读
- (2023-04-18)声明与申明的辨析_声明和申明有什么区别_观点
- (2023-04-18)寸关尺的准确位置图_把脉寸关尺的位置图
- (2023-04-18)2023上海车展:日产Max-Out概念车亮相
- (2023-04-18)光猫和路由器每天需要关闭几小时? 全球速递
- (2023-04-18)AMD EPYC Genoa-X工程样品现身:96个Zen 4架构核心,配备1152MB的L3缓存
- (2023-04-18)世界热点评!ChatGPT时代,如何释放内容营销生产力?
- (2023-04-18)消息称摩托罗拉今年将推出两款折叠屏手机,“Razr Lite”渲染图曝光
- (2023-04-18)比亚迪百万级豪车今天发布:上海车展仰望展台抢先看
- (2023-04-18)全球新资讯:巴斯勒:踢成这样换赫内斯早拧下球员的头,拜仁周三还会被曼城虐
- (2023-04-18)QFII重仓银行股,持股市值位居行业第一,经济修复催化板块估值-世界快播
- (2023-04-18)财通基金金梓才又发新品?“完美”错过TMT行情,一年持有产品亏损告终
- (2023-04-18)盘中速览 | 三大指数震荡走弱,科指跌逾1%,汽车、保险、有色金属股逆市上扬,小鹏汽车涨超4%
- (2023-04-18)2023台州购车政府补贴多少钱?-焦点资讯
- (2023-04-18)4月18日山东舜天液氨报价下调
- (2023-04-18)世界即时:武汉蓝电获北交所IPO批文:最近3年营收、净利润复合增长率超33%
- (2023-04-18)百惠:什么是港股上市?一般港股上市流程有哪些?
- (2023-04-18)SM娱乐公司涉嫌操纵股价遭检方扣押搜查
- (2023-04-18)天天微资讯!歌尔股份:网传公司把部分车间租给立讯精密不属实
- (2023-04-18)当前快播:一季度海南离岛免税购物金额达169亿元,同比增长14.6%
- (2023-04-18)当代散文|梦里的童年
- (2023-04-18)快讯|2023中国国际人才交流大会(半岛分会)在烟台开幕 环球视讯
- (2023-04-18)当代散文|桃花开的声音|环球快资讯
- (2023-04-18)2023上海车展:福特Bronco国内亮相|天天亮点
- (2023-04-18)终生免费!理想AD Max 3.0城市NOA本季度开始推送
- (2023-04-18)中际旭创4月18日快速上涨-微速讯
- (2023-04-18)环球报道:华中数控4月18日快速反弹
- (2023-04-18)晓程科技4月18日快速回调
- (2023-04-18)杨幂私密聚会被曝光,和男士喝酒脸色发红,素颜状态还是很漂亮
- (2023-04-18)全球信息:一季度河南全省交通基础设施投资414.3亿元
- (2023-04-18)泛化的近义词_繁华的近义词