C++中new出来的静态变量在内存的什么区

new出来的的变量在堆区,但静态变量放在全局区。
如果在函数内部有这样一条语句 static int *val = new int[10] ;
那这些值都存在什么地方? 难道是val在全局区,但new int[10]出来的内存却在堆区?

如果这条语句在函数体外面又是什么情况呢?
全部评论
static表示val指针存放在.data节(也就是全局区),new int〔10〕在堆区,只是val存放的是new int[10]的首地址值,
点赞 回复 分享
发布于 2017-12-02 05:12
我没见过这样写的代码,你在哪见的,还是自己想的
点赞 回复 分享
发布于 2017-12-02 03:08
楼上说得对,这句话写在函数内外都一样。
点赞 回复 分享
发布于 2017-12-02 09:07
二楼解释的很对,你可以了解一下
点赞 回复 分享
发布于 2017-12-03 17:19

相关推荐

10-14 23:01
已编辑
中国地质大学(武汉) Java
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享
11-18 15:57
门头沟学院 Java
最终归宿是测开:这个重邮的大佬在重邮很有名的,他就喜欢打92的脸,越有人质疑他,他越觉得爽😂
点赞 评论 收藏
分享
手撕没做出来是不是一定挂
Chrispp3:不会,写出来也不一定过
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务