当前位置: 首页 > wzjs >正文

温州网站建设策划网站代备案管理系统

温州网站建设策划,网站代备案管理系统,淘客助手 wordpress,为wordpress移动端1.1 变量的存储位置(内存区域) C程序的内存布局通常分为以下几部分: 代码段(Text Segment):存储可执行指令(如函数代码)。只读,可被多个进程共享。 物理载体&#xff1…

1.1 变量的存储位置(内存区域)

C程序的内存布局通常分为以下几部分:
代码段(Text Segment):存储可执行指令(如函数代码)。只读,可被多个进程共享。

物理载体:通常存储在磁盘的可执行文件中,程序加载时被读入DDR内存(RAM)。

数据段(Data Segment 初始值存储在磁盘的可执行文件中,加载时复制到DDR内存。):
.data:初始化的全局变量和静态变量
.bss:初始化的全局变量和静态变量(程序启动时自动清零)。

(Heap):动态分配的内存(malloc/free)。物理载体:DDR内存中的动态区域。
(Stack):局部变量、函数参数等(自动分配/释放)。DDR内存中的连续区域(由CPU栈指针管理)。

1.2 存储类别修饰符与存储位置

  • static 修饰的变量
    存储位置:数据段(.data 或 .bss)。
    生命周期:整个程序运行期间。
    作用域:
    修饰全局变量:仅在当前文件内可见(限制作用域)。
    修饰局部变量:仅在函数内可见,但生命周期延长到程序结束。
    示例:

    static int x;          // 未初始化,存储在.bss
    static int y = 10;     // 已初始化,存储在.datavoid func() {static int count = 0; // 存储在.data,函数调用间保持值count++;
    }
    
  • volatile 修饰的变量
    存储位置:由变量定义的位置决定(如全局volatile在数据段,局部volatile在栈)。
    作用:告诉编译器不要优化对该变量的访问(每次从内存读取,防止缓存优化)。
    典型用途:硬件寄存器、多线程共享变量
    示例:

    volatile int *hw_reg = (volatile int*)0xFFFF0000; // 硬件寄存器地址
    volatile int flag = 0;
    while (flag == 0) {// 编译器不会优化为 if (flag == 0) while (true);// 每次循环都会从内存读取flag的值
    }
    
  • auto(默认修饰符)
    存储位置:栈(Stack)。
    生命周期:函数调用时创建,返回时释放
    示例:

    void func() {auto int x = 5; // 等同于 int x = 5;
    }
    
  • register(建议性修饰符)
    存储位置:尝试将变量存储在CPU寄存器(非内存),但由编译器决定。
    限制:不能取地址(**&**操作)。
    示例:

    register int i; // 建议编译器将i放入寄存器
    ;
    int* get_local_ptr() {int x = 10; // x在栈上return &x;  // 错误!函数返回后x的内存失效
    }
    
  • extern
    存储位置:声明外部已定义的变量(实际存储位置由定义决定)。
    作用:跨文件引用全局变量。
    示例:

    // file1.c
    int global_var = 42; // 存储在.data
    // file2.c
    extern int global_var; // 引用file1.c中的global_var
    
  • 堆栈

    int *p = malloc(100); // 从堆分配100字节,DDR内存中分配void func() {int x; // x在栈上分配(DDR内存)
    }
    

    当DDR内存不足时,操作系统将不活跃的内存页换出到磁盘交换区(Swap Space),需要时再换入。
    示例:若堆内存耗尽且无交换空间,malloc返回NULL。

1.3 数据类型与存储位置的关系

  • 基本数据类型(int、float等)
    存储位置:由修饰符决定:
    全局变量 → 数据段。
    局部变量 →
    static修饰 → 数据段

  • 指针类型(int*、char*等)
    存储位置:
    指针变量本身的位置由修饰符决定(如局部指针在栈)。
    指针指向的数据可能在任何区域(需结合malloc、全局变量等分析)。

  • 数组与结构体
    存储位置:
    全局数组/结构体 → 数据段。
    局部数组/结构体 → 栈。
    static修饰 → 数据段。

  • 动态分配的内存(malloc/free)
    存储位置:堆(Heap)。
    示例:

    int *arr = (int*)malloc(10 * sizeof(int)); // arr在栈,指向堆内存
    

1.4 典型问题

  • 为什么栈比堆快?
    栈通过CPU硬件指令(如push/pop)直接操作,而堆需要调用库函数(如malloc)并可能触发系统调用。
    栈内存地址连续,缓存命中率高;堆内存碎片化。

1.5 总结

修饰符/类型存储位置生命周期作用域
static数据段(.data/.bss)程序整个运行期文件内或函数内
volatile由定义位置决定同普通变量同普通变量
auto栈(Stack)函数调用期间函数内
registerCPU寄存器(可能)auto函数内
extern由定义决定程序整个运行期跨文件
动态内存堆(Heap)手动控制(free通过指针访问
磁盘(可执行文件)│├── 代码段(加载到DDR) → CPU执行└── 数据段(加载到DDR)├── .data(已初始化)└── .bss(未初始化,清零)DDR内存(运行时)├── 代码段(只读)├── 数据段├── 堆(动态分配)└── 栈(自动管理)

文章转载自:

http://I0kSr8UB.qmncj.cn
http://2o23AYiX.qmncj.cn
http://OifI2Tz5.qmncj.cn
http://PGvAlumu.qmncj.cn
http://il5uetEi.qmncj.cn
http://bfHLO6hd.qmncj.cn
http://HcdNoAHg.qmncj.cn
http://n7CW0hcl.qmncj.cn
http://1IDvCVOa.qmncj.cn
http://OFCgSsik.qmncj.cn
http://HrxFXusS.qmncj.cn
http://MSexVjLJ.qmncj.cn
http://7f4DFJHe.qmncj.cn
http://AAA430Si.qmncj.cn
http://Y9R2gxEC.qmncj.cn
http://RKKKATGH.qmncj.cn
http://mEStBUEM.qmncj.cn
http://NPnzX6rE.qmncj.cn
http://gm8rMqP6.qmncj.cn
http://jhOYkobq.qmncj.cn
http://jwVvsFxg.qmncj.cn
http://bIlsYAW1.qmncj.cn
http://B7cw26ye.qmncj.cn
http://sKZhSN3i.qmncj.cn
http://ZfXsNsxf.qmncj.cn
http://SmQp9s4x.qmncj.cn
http://BxeaoQe9.qmncj.cn
http://iaHJhAlr.qmncj.cn
http://YEoy8ffB.qmncj.cn
http://6Y05QjXB.qmncj.cn
http://www.dtcms.com/wzjs/703083.html

相关文章:

  • 末年人免费观看网站郴州网站建设哪里比较好
  • 做毕业设计哪个网站好广告传媒公司主要做什么
  • 网站外链软件班级网站设计模板
  • 有什么教做维c甜品的网站快速排名seo软件
  • 免费网站设计平台易语言网站批量注册怎么做
  • 中国中小企业网站网址导航下载到桌面
  • 宁波网站建设制作订做网络维护工资多少一个月
  • 住建部网站村镇建设管理平台社群营销
  • 做免费采集电影网站犯法吗高碑店做网站的公司
  • 怎么用阿里云服务器做淘客网站网站优化培训如何优化
  • 空包网站怎么做高端手机网站定制
  • 凡科做网站关键词wordpress插件pdf
  • 天津网站备案在哪照相邵东微网站建设
  • 软件开发包括网站开发吗在北京注册公司有什么好处
  • 网站团队组成国外的电商网站有哪些
  • 勤哲网站开发视频如何制作公众号教程
  • 视频网站怎么做建设网页
  • 免费企业网站空间安庆网站建设推荐安徽秒搜科技
  • 专门做评测的网站有哪些wordpress木木主题
  • 北京手机站建站柳州最强的网站建设
  • 太原建站司点击查看南昌营销型网站
  • 网站(网店)建设方案范文jsp网站开发实例教学
  • 中企动力做网站费用网站建设公司岳阳
  • 网站作业青岛市专业做网站的吗
  • 官方网站建设 找磐石网络一流建设返利网站
  • 网站开发流程步骤 口袋企业建设网站的过程
  • 南京好的网站设计seo整站优化一年价格多少
  • 网站建设网站图片放哪个口碑营销案例2021
  • 图片网站源码给别人做网站的话术
  • 网站备案期间 权重宁波网络推广平台哪里有