C++里面static申明的变量是存在哪个区(堆区、栈区、代码区,,其他2个忘了),还有能否顺便说明下各种变量包括常量等分别存放在哪里,大神来啊
可是五大分区是不是还有一个叫做 全局数据区啊,那static是不是应该存在这里?
追答我说的数据区就是你说的全局数据区,准确的说,其实程序不是这么分区的。。。
运行时,程序文件本身会被整个载入一个内存区域,里面分代码段、数据段(全局变量和常量存在于此,其实数据段不只一个,有只读的也有可读写的)。
栈空间,是在创建一个线程时操作系统分配的,windows默认是1MB。所谓的局部变量,就是在其线程的栈里面保存的,通过移动栈指针来腾出空间。具体的三言两语说不清楚。
堆空间,就很好理解了。
static的,都是全局变量,所以,答案很明显。