C语言数组如何在内存中表示?
发布时间
阅读量:
阅读量
最近群里的一位同学请教了关于C语言数组在内存表示的问题。我们今天专门探讨一下C语言中数组内存表示的相关知识。
开局一张图:

如图所示,属于经典的Linux进程内存布局结构中,其中通常存在的数据分布于以下几个关键区域
栈区,Stack
全局区,Global
堆区,Heap
我们逐一探讨C语言数组的表示方式,在这些区域中(特别关注以下几点:这里的机器型号为x86 64位)。
1、数组与栈区
先来看一段极其简单的代码:

我们声明了一个局部变量arr并将其类型设为int数组;然后依次向该数组中的各个元素赋值100至600之间的数值。那么,在内存中该数据结构是如何组织存储的呢?
首先,我们编译一下:

还没有任何评论哟~
