社区
新手乐园
帖子详情
不定义变量是否节省内存?
treyklundt
2011-02-15 03:05:43
int a = 1, b = 2;
int c = a+b;
printf("%d", c);
int a = 1, b = 2;
printf("%d", a + b);
请问后一种写法是否比第一种节省内存空间呢?谢谢
知道这一点点可能没什么意义,但就是纯粹想知道答案。
...全文
73
7
打赏
收藏
不定义变量是否节省内存?
int a = 1, b = 2; int c = a+b; printf("%d", c); int a = 1, b = 2; printf("%d", a + b); 请问后一种写法是否比第一种节省内存空间呢?谢谢 知道这一点点可能没什么意义,但就是纯粹想知道答案。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
失落的凡凡
2011-02-15
打赏
举报
回复
ca 我写了很长时间么?瞬间就结贴了?
失落的凡凡
2011-02-15
打赏
举报
回复
楼主自己知道没有意义,还问它做什么?下面的写法也许可以说是“节省内存”,但是是没有意义的节省内存。从系统的角度,即使它节省了也不会对运行时系统产生影响。这个变量是在栈上分配的,而栈的大小一般在程序加载的时候就固定了。除非有深递归,否则也很少出现栈溢出的现象。从编译器的角度,如果c只用到这一次,很可能在优化时就已经把它优化掉了。从软件工程和编码的角度,代码能够提供更好的自注释意义比多几个变量意义要大的多。
treyklundt
2011-02-15
打赏
举报
回复
谢谢,楼上两位。结帖
bdmh
2011-02-15
打赏
举报
回复
看差了
后一种是用寄存器eax来存储a+b,而第一种还要把eax的值存入c,多了一个c的空间
treyklundt
2011-02-15
打赏
举报
回复
[Quote=引用 1 楼 maoxing63570 的回复:]
是的,后一种写法节省空间
[/Quote]
谢谢楼上,
但是a+b的结果不会存在一个临时的地方吗?若这样岂不同样占用内存?
bdmh
2011-02-15
打赏
举报
回复
一样的,看看汇编就清楚了
maoxing63570
2011-02-15
打赏
举报
回复
是的,后一种写法节省空间
在for循环内外
定义
变量
的区别
1、在for循环内
定义
变量
for (int i = 1; i <= num; i++) { Object obj = new Object(); } 该方式会在
内存
中创建num个Object对象引用,若num较大,则会消耗大量
内存
2、在for循环外
定义
变量
Object obj = null;...
php
定义
一个
变量
不赋值吗,一个PHP
变量
赋值的问题
如果是用一个是不是
节省
空间?用多个的话空间就会多消耗一些?(代码无任何意义,只是举例)//代码片段一$url = "https://www.segmentfault.com";$url = urlencode($url);$url = $url."?type=string";echo $url;//代码...
C语言
变量
的
定义
包括
变量
存储类型和
变量
的什么?
C语言
变量
的
定义
包括
变量
存储类型和
变量
的名称。C语言
定义
变量
的格式:“数据类型
变量
名;”,“数据类型”表示想要存储什么类型的数据,“
变量
名”就是你想给这个
变量
起个什么名字,通常都是用字母...
为什么需要
定义
数据类型???
为什么需要
定义
变量
存储区域的大小? 以结果为导向来分析: Java的整数类型分为4种:byte,short,int,long。 四种的区别在于占用的存储空间不一样。 byte占用1个字节,short占用2个字节,int占用4个字节,...
C++中的union(联合体,共用体,数据
变量
可以共享
内存
,以
节省
内存
空间)
说到共享
内存
就要说下union的
内存
分配:union的大小是按照union里面的成员
内存
的最大值而分配的,函数不占
内存
,但是如果没有成员或者成员都是函数时,
内存
分配为1,占位,表明存在。 共用体,也叫联合体,在一个...
新手乐园
33,311
社区成员
41,784
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章