在C语言中,什么是动态存储,什么是静态存储?
发布网友
发布时间:2022-04-29 00:29
我来回答
共2个回答
热心网友
时间:2022-06-26 10:56
动态存储是auto关键字,例如我们定义的int
a;
默认就是动态存储,具体应该是
auto
int
a;一般是用于函数参数,局部变量,超出作用域范围会失效,变量产生在动态存储区
静态存储时static关键字,例如,我们定义一个
static
int
a;
就是存储在静态存储区,相当于一个全局变量
一楼的理解出现了问题
热心网友
时间:2022-06-26 10:57
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())
C语言中变量的存储类型有哪几种,存储方式哪几种?谢喽
1、静态存储变量通常是在变量定义时就在存储单元并一直保持不变,直至整个程序结束。2、动态存储变量是在程序执行过程中,使用它时才分配存储单元,使用完毕立即释放。典型的例子是函数的形式参数,在函数定义时并不给形参分配存储单元,只是在函数被调用时,才予以分配,调用函数完毕立即释放。如果一个函数...
C语言动态和静态存储类别的区别
静态存储就是在程序开始的时候就分配固定的内存单元,整个程序结束后释放存储单元,而动态存储单元在程序运行初不分配内存单元在用到时才分配,而当用过后则立刻释放该内存空间
C语言动态和静态存储类别的区别
C语言的数据区分为静态存储区与动态存储区。静态存储是指在程序运行期间给变量分配固定存储空间的方式。如全局变量存放在静态存储区中,程序运行时分配空间,程序运行完释放。动态存储是指在程序运行时根据实际需要动态分配存储空间的方式。如形式参数存放在动态存储区中,在函数调用时分配空间,调用完成释放。
C语言知识总结
局部静态变量(static) 静态存储寄存器变量(register) 静态存储全局变量的存储类型自动变量(auto) 动态存储外部变量 (extern) 静态存储全局静态变量(static )静态存储Extern 外部引用Static 不能用extern 引用。第七章、数组7.1、一维数组的定义和使用特别需要注意循环体的初值,终止条件例:Main(){Int I,a[10];For(i=...
[C语言] 动态存储区 和 动态分配内存 的区别。万分感谢!
静态存储: 静态局部变量(本函数内有效);静态外部变量(本文件中有效)。参考http://zhidao.baidu.com/question/128146638.html?fr=newQuestion (2)C语言里malloc函数分配的空间属于动态存储区的范畴。正如上面提到的auto自动变量,通过malloc来分配空间的都是自动变量。在C++里明确分开了栈、和自由...
变量的静态存储与动态存储
首先,静态存储与动态存储都是变量在内存中的存储方式。C语言中变量分为局部变量(auto)、寄存器变量(register)、全局变量(extern)、静态变量(static)。局部变量和寄存器变量在内存中以动态存储的方式存储,外部变量和静态变量在内存中以静态存储的方式存储。(笔者注:C语言不存在真正意义上的“全局...
C语言各种数据在内存中的分配方式,分别对程序的运行效率有哪些影响?
从另一个角度,从变量值存在的作时间(即生存期)角度来分,可以分为静态存储方式 和动态存储方式。静态存储方式:是指在程序运行期间分配固定的存储空间的方式。动态存储方式:是在程序运行期间根据需要进行动态的分配存储空间的方式。
在c语言中静态存储单元与动态存储单元有什么区别
char sz[5];就是静态的char *psz = new char[5]就是动态的静态的5一定要试常数不能使变量,而动态的则可以是随便的,可以是表达式也可以是常量或变量因为静态的是编译完就分配好的,而动态的是在运行过程中才确定大小的;比如我在程序中写char sz[5];那么运行过程中就无法改变这块内存,分配大小从...
C语言动态变量和静态变量的区别
动态存储是指用malloc申请的在堆上分配的内存,静态存储是全局变量,和用static修饰的变量
变量的存储类型有哪些
动态存储变量则在程序执行过程中根据需要分配内存,当使用完毕后立即释放内存,实现动态分配与回收。静态存储变量的特点是始终存在,不受函数调用影响;而动态存储变量则在特定时刻分配内存,使用后立即释放,适应于频繁调用的场景。在程序设计中,正确选择变量的存储类型能够优化内存使用,提高程序运行效率。