C语言中存储单元有无的区别

老师说什么什么有什么什么时候又不给他存储单元什么意思啊。。。... 老师说什么什么有什么什么时候又不给他存储单元 什么意思啊。。。 展开
 我来答
鷹弈
2011-10-11 · TA获得超过5194个赞
知道大有可为答主
回答量:1257
采纳率:0%
帮助的人:630万
展开全部
存储单元是内存的最小单元,也就是说存储是有许多存储单元组成,一个存储单元大小就是一个字节,占8bit,每个存储单元都有一个地址,相当于每个人都有一个身份证号码一样

比如:声明一个int变量系统分4个字节,也就是4个存储单元

你们老师所讲是跟什么联系在一起?
追问
讲 数据的表现形式中的常量与变量时候说的。。
追答
打错字了,修正前面一句话:内存是由许多存储单元组成

如#define M 100
这叫宏定义,系统不会给M分配内存(即存储单元)
M是标示符,100是常量,当程序遇到M时,直接用100替换,如程序语句a = 3 * M = 3 * 100 = 300

如int a;
变量的定义系统会分配内存(即存储单元)
投机士
推荐于2016-11-30 · TA获得超过10.5万个赞
知道大有可为答主
回答量:2.5万
采纳率:0%
帮助的人:4058万
展开全部
  (1)从变量的生存期分,有动态存储和静态存储两种,动态存储即在调用函数时临时分配单元,静态存储则是程序整个运行时间内都存在。
  动态存储:形式参数(本函数内有效); auto自动变量(本函数内有效);register寄存器变量(本函数有效)。
  静态存储: 静态局部变量(本函数内有效);静态外部变量(本文件中有效

  (2)C语言里malloc函数分配的空间属于动态存储区的范畴。正如上面提到的auto自动变量,通过malloc来分配空间的都是自动变量。在C++里明确分开了栈、和自由存储区。像自由变量里的局部变量(全局变量分配在“全局/静态存储区”)和函数都是存储在栈区。而通过malloc分配的空间在自由存储区。
  C语言没有分那么细,但是在动态存储区内还是分栈和堆的,也就是,由malloc分配的空间在堆区;非malloc分配的局部变量,函数等在栈区;全局变量与静态变量在静态存储区。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lkjhggv
2011-10-11 · TA获得超过3063个赞
知道大有可为答主
回答量:1550
采纳率:66%
帮助的人:1322万
展开全部
C语言没有类,只有结构,C没有引用类型
C中声明时不分配内存,定义时分配内存(存储单元)
意思是定义时,编译器为其 分配存储空间,此时可以使用它,而声明时,只是告知编译器存在这个变量,却不分配空间,也就不能使用他
一个变量可能声明多次,却只能定义一次。
追问
定义神马啊?老师完全没有前提地说了这句话,,
追答
没有为变量分配存储空间之前,不能使用变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
叁生万物
2015-10-07 · TA获得超过6259个赞
知道小有建树答主
回答量:2871
采纳率:41%
帮助的人:1032万
展开全部
存储单元是内存的最小单元,也就是说存储是有许多存储单元组成,一个存储单元大小就是一个字节,占8bit,每个存储单元都有一个地址,相当于每个人都有一个身份证号码一样

比如:声明一个int变量系统分4个字节,也就是4个存储单元

你们老师所讲是跟什么联系在一起?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
肖婷0
2011-10-11 · TA获得超过237个赞
知道答主
回答量:250
采纳率:0%
帮助的人:233万
展开全部
是说用malloc申请内存空间吗,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式