c++里面,static int* a=new int(); a存放在内存的哪一块?堆?栈?还是静态变

c++里面,static int* a=new int(); a存放在内存的哪一块?堆?栈?还是静态变量区?

static int* a=new int();a是一个指针变量(int *类型,4个字节,在静态存储区)a=new int(),动态分配了一个整数的空间,更常用的是动态分配一个数组,比如a=new int[10],动态分配的空间位于堆区,a指针变量保存了动态分配空间的首地址。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-21
首先new int()返回一个指向堆区的地址,传给a,
而a是静态变量区中的一个变量。
总结就是,静态变量a是一个指针,指向堆区的一个int变量的地址,a的指向不可变,而堆区int变量的值可变。
第2个回答  2016-09-05
废话就不说了。简单直接的回答你:放在静态区(全局区)。
满意请采纳,谢谢本回答被网友采纳
第3个回答  2016-09-05
new出来的 肯定是堆啊
相似回答