在c语言中静态存储单元与动态存储单元有什么区别

在c语言中,静态存储单元与动态存储单元有什么区别??是不是只是静态存储单元在整个程序中一直存在,而动态存储单元只有在调用相应的函数中才能被赋给存储空间,地址的话静态的是不... 在c语言中,静态存储单元与动态存储单元有什么区别??是不是只是静态存储单元在整个程序中一直存在,而动态存储单元只有在调用相应的函数中才能被赋给存储空间,地址的话静态的是不是固定的,动态的是不是不固定的?? 展开
 我来答
匿名用户
2013-12-16
展开全部
char sz[5];就是静态的char *psz = new char[5]就是动态的静态的5一定要试常数不能使变量,而动态的则可以是随便的,可以是表达式也可以是常量或变量因为静态的是编译完就分配好的,而动态的是在运行过程中才确定大小的;比如我在程序中写char sz[5];那么运行过程中就无法改变这块内存,分配大小从开始到运行结束都始终是不变的而如果我在程序中写int i;cin >> i;char *psz = new char[i];程序开始是没有分配大小的,因为这个值是未知的,等到我输入数值,他才知道该分配了多大,而你不能这样写int i;cin >> i;char sz[i];这样写是错误的,他会警告中括号里面的数字不是常数 而像这样的临时分配的内存必须要释放掉(C++中用delete而C中则是用free())
匿名用户
2013-12-16
展开全部
静态的内存使用的是栈空间内存,不用自己来分配.而动态内存由程序员根据需要来自己分配并收回
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-16
展开全部
http://zhidao.baidu.com/question/43453785.html这里很清楚,不太喜欢复制别人的,你自己看看吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式