作业帮 > 综合 > 作业

请C++高手帮我解释下这段话

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/09/30 09:09:14
请C++高手帮我解释下这段话
关于栈和堆的区别,有一条是 内存申请方式不同.
栈:由系统自动分配内存.
堆:由程序员分配,因此程序员必须要指明变量的大小.
请问在这里,程序员必须指明变量的大小这句话是什么意思?是要对变量进行赋值
比如说我定义了一个变量
int a;
那么此时的变量a是放在栈区还是堆区?如果是在栈区,那么怎么定义才能放到堆区?怎么为这个变量指明大小?
a这个在栈区 由系统分配
如果要放到堆区可以自己开辟10个整数的数组例如
int *p=new int(10)
变量是不能指定大小的,它都是固定不变的.例如
int 4个字节
float 8个字节