问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

谭浩强的C语言书中说常量也占内存,我有疑问

发布网友 发布时间:2023-07-24 18:23

我来回答

6个回答

热心网友 时间:2024-10-26 21:20

谭浩强的C语言书很老旧。
int i=4;
过去 常量 4 要放到 常量区。
int i, 要分配 变量 存放单元。
然后 再 把 常量区的那个存4的单元里的4 赋给 i。
--
现在, int i=4;处理为 声明与初始化。int i, 要分配 变量 存放单元,接着初始化存值4。
这样,常量就不另占单元。
---
但是
char *p="abcd";
"abcd" -- 仍要放入常量区
char *p -- 指针占4个字节。追问你的回答是我想要的,但是你确定吗?意思是以前常量4也要占内存的咯?这个前后的变化你在哪看的啊?

追答谈编译器设计的书。

热心网友 时间:2024-10-26 21:21

程序运行的数据段分为,初始化数据段,非初始化数据段,常量区。这里的常量指的是printf("I am a string\n");里面I am a string指的是常量,还有const int i = 4,这里的i也是常量,常量是只读的,不能在程序运行的时候进行修改的,而int i=4,这个内存是在初始化数据段分配的,你想改,程序里面可以让i = 5

热心网友 时间:2024-10-26 21:21

把思路理清一下,int i=4的真正含义是什么,就是告诉一个整型变量的值为4,4不代表任何东西。说的不知道是否清楚,可以一起探讨追问不知道你看过谭的书没有,书上有这样一段原话:(如果有:float a=3.14159;在进行编译时,对float变量分配4个字节,但对于浮点型常量3.14159,则按双精度处理,分配8个字节。编译系统会发出“警告”。) 他说3.14159分配8个字节,那整个这个语句不就是分配12个字节了?
而且直接打printf("%d",sizeof(6));输出结果也是4,这里都没有定义变量啊

追答我没看过谭的书。你太纠结于字面的意思了。其实好好思考一下就应该知道作者真正的意思。作者的意思是要存3.14159这样的数需要8个字节的“容器(double float)”,而float这个“容器”只有四个字节,放不下它,所以编译器会出错。
关于printf那个,sizeof()只是返回相应变量会占用的内存的大小,而不是已经占用了。
不知道说的清楚不!

热心网友 时间:2024-10-26 21:22

字符串常量占用内存追问像什么整形,浮点型什么的不占是吗

热心网友 时间:2024-10-26 21:22

本例子只分配4字节内存。只有变量占内存。 书上说的是在运算过程中,数字常量占内存,不是在赋值的时候就占内存。

热心网友 时间:2024-10-26 21:23

...int i=4 意思是把4放到i的内存地址里去··i就变成4了··只是占4个字节...
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
大头贴在红米上咋设置? [高分悬赏]数学系毕业生进地税局或银行 ...共同的群聊我是在个人中拍了拍他的图像对方会有显示吗? 北京钰蚨餐饮有限公司怎么样? ...先调质HB220-270 后表面高频处理HRC40-45 采用自回火 这样可以吗... 微信发语音怎样才不震动 女朋友跟我说处对象感觉心累,但是并不是要跟我分手,我该怎么做?_百度... ...户口夫妻分居政策中要求一年外地社保,我是婚前交的社保有用吗... 社保调档后还没交钱能调回来吗 400度的近视眼可以手术治疗吗 我要问一下从大连坐飞机到太行山坐到什么地方? 大连离吕梁孝义有多远 我在大连想去山西吕梁周口县最快的路程怎么走 模范出行意外预定车辆导致扣费300块怎么处理,行驶里程0公里,车子... 冒险岛游戏里的:食人花蜜在哪打? 冒险岛食人花蜜的问题 求文:网游之妖精时代全文 《网游之妖精时代》红豆抹茶小说txt全集免费下载 《妖精时代》余小妖小说txt全集免费下载 ...米的两个车站相对而行四小时后还相距9万米行多少千? 现在的重庆大学电器工程研究生毕业,就业如何? 报考重庆大学电气工程今年考研401分能顺理通过吗!没有关系! 为什么我老婆老说她自己胖,但其实她很瘦.. 逆战时光回溯地图怎么开 老婆最近总喊自己胖了,我怎么帮助她? 重庆大学电气专硕代码 五年级我能行作文300字【七篇】 单招面试问你心目中的榜样或偶像是谁,为什么他会成为你的偶像?怎么回答... 你的偶像是谁?写一写他她为什么会成为你的偶像 注射用盐酸氨溴索,注射用炎琥宁,是管什么病的,他们的作用是什么_百度知 ... 联通卡没有上网为什么一直产生流量? 联通卡没有上网却产生流量 咨询一下为什么我的联通卡没上网又产生了流量啊 思母泪散文 无触点电子蜗牛喇叭不能调声音吗 在中山市哪些银行可以支持个人无抵押,无担保的贷款,只要贷二万。 qq音乐冲乐币收不到手机验证码怎么办 T600的喇叭不响可以更换蜗牛喇叭么? 太阳挂在树枝(打一字) 太阳挂在树上了打一字 太阳上有树打一字 我跟男朋友说分手了,他却跟我讲分手是为了更好的重逢 情感口述我跟相爱的异地恋女友分手为了与前女友复合 临床检验技师生化检验精华辅导:内生肌酐清除率试验临床意义_百度... 新中国成立后人们的生活发生了哪些变化? 求1949年新中国成立对农民的影响 肺宁颗粒怎么样 跑步减肥的正确方式? 古剑奇谭安然在里面扮演谁 请问谁知道2009年春节期间播出的校园情景喜剧有哪些?—其中有位叫武老 ...