定义一个变量时系统给它分配的空间与用malloc()函数给一个变量分配的空间有什么不

2024-11-28 18:53:00
推荐回答(2个)
回答(1):

区别在于存放的区域不同,程序在运行期间代码和数据分别存储在4个内存区域,静态变量和全局变量存放在全局数据区,局部变量存放在栈区,而动态数据存放在堆区,malloc和new分配的空间就在这个区域,由程序员自己管理

回答(2):

还有就是你要知道malloc函数是动态内存分配函数这是在程序运行过程中为变量分配内存空间,而你定义的变量实在编译的时候系统为其分配的内存空间,在程序执行过程中就不能添加也不能减少。