77问答网
所有问题
c++里面,static int* a=new int(); a存放在内存的哪一块?堆?栈?还是静态变
c++里面,static int* a=new int(); a存放在内存的哪一块?堆?栈?还是静态变量区?
举报该问题
推荐答案 2016-09-16
static int* a=new int();a是一个指针变量(int *类型,4个字节,在静态存储区)a=new int(),动态分配了一个整数的空间,更常用的是动态分配一个数组,比如a=new int[10],动态分配的空间位于堆区,a指针变量保存了动态分配空间的首地址。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/YvGWWp3YvWWY88pI8pp.html
其他回答
第1个回答 2019-07-21
首先new int()返回一个指向堆区的地址,传给a,
而a是静态变量区中的一个变量。
总结就是,静态变量a是一个指针,指向堆区的一个int变量的地址,a的指向不可变,而堆区int变量的值可变。
第2个回答 2016-09-05
废话就不说了。简单直接的回答你:放在静态区(全局区)。
满意请采纳,谢谢
本回答被网友采纳
第3个回答 2016-09-05
new出来的 肯定是堆啊
相似回答
大家正在搜
相关问题
C/C++中局部变量数组加上static关键字后存放于栈空间...
JAVA数组存放,int a[]=new int[3],这三...
static int a[10],a[10]=5,为什么在c...
static int 一般用在何处??
C++中静态数组不用释放内存吗
局部变量是存放在栈中,还是存放在堆栈中?
C++new:int a=1;int *p=new int(...
C语言里,哪些变量是存放在堆里,哪些是存放在栈里?(