网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

如何应用C语言变量的内存排布

一个典型的C程序存储分区包含以下几类:

创新互联建站主营城厢网站建设的网络公司,主营网站建设方案,成都app开发,城厢h5成都微信小程序搭建,城厢网站营销推广欢迎城厢等地区企业咨询

  1. Text段
  2. 已初始化数据段
  3. 未初始化数据段

之前对C语言的变量在内存中的排布有些混淆,故进行了以下几个方面的简要整理(所有的实例均是基于X86 PC Ubuntu上GCC编译的)。

  1. 变量定义时,不同的变量分配的内存地址的增长方向
    (1) 定义两个全局变量,在赋值编译后打印其在内存中分配的地址,发现先定义的变量被分配在内存中的低地址中
    如何应用C语言变量的内存排布
    如何应用C语言变量的内存排布
    (2) X86 PC Ubuntu的main函数中定义变量,使用gcc编译时查看系统对变量分配的内存地址(内存分配的增长方向是低地址到高地址)
    如何应用C语言变量的内存排布
  2. 结构体实例化之后,结构体中成员分配的内存地址的增长方向
    (1) 定义全局结构体且初始化,gcc编译后查看结构体成员内存分配的增长方向(内存分配的增长方向是由低向高向上增长)
    如何应用C语言变量的内存排布
    (2) 在main函数中对结构体且初始化,gcc编译后查看结构体成员内存分配的增长方向(内存分配的增长方向是由低向高向上增长)
    如何应用C语言变量的内存排布
  3. 函数中定义变量时,使用的栈空间的内存的增长方向
    如何应用C语言变量的内存排布
  4. arm在使用arm交叉编译工具链时,一般的变量的内存分配是向上增长方向的,但是对于栈上的内存分配时采用的满减栈的方式对栈上内存分配给变量使用的,栈的生长方向时向下生长方向的.

分享文章:如何应用C语言变量的内存排布
URL网址:http://bjjierui.cn/article/ipophj.html

其他资讯