C 中的内存分配:全局数据结构的堆栈与堆
在 C 中全局声明数据结构时,会出现以下问题:它消耗堆栈内存或堆内存。要完全理解这一点,必须了解进程使用的不同内存段。
通常,进程拥有五个主要内存区域:
回到最初的问题,如果一个数据结构是全局声明的(不在函数内),它将被分配在数据段(初始化数据)或 bss 段(未初始化数据)中,具体取决于它是否是是否已初始化。这些段驻留在静态内存中,通常由操作系统管理,程序无法访问。
因此,C 中全局声明的数据结构不会消耗堆栈内存。
以上是堆栈与堆:C 中全局声明的数据结构在哪里?的详细内容。更多信息请关注PHP中文网其他相关文章!