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

政府门户网站建设经验做法个人怎么做互联网推广平台

政府门户网站建设经验做法,个人怎么做互联网推广平台,怎么看网站有没有做竞价,网络推广培训哪里的文章目录 前言1. 栈(Stack)特点生命周期示例 2. 堆(Heap)特点生命周期示例 3. 静态区(Static/Global 区)a. 已初始化数据段(.data 段)特点生命周期示例 b. 未初始化数据段&#xff0…

文章目录

  • 前言
  • 1. 栈(Stack)
    • 特点
    • 生命周期
    • 示例
  • 2. 堆(Heap)
    • 特点
    • 生命周期
    • 示例
  • 3. 静态区(Static/Global 区)
    • a. 已初始化数据段(.data 段)
      • 特点
      • 生命周期
      • 示例
    • b. 未初始化数据段(.bss 段)
      • 特点
      • 示例
  • 4. 文字常量区(常量区)
    • 特点
    • 生命周期
    • 示例
  • 5. 代码区(Text Segment)
    • 特点
    • 示例
  • 6. 线程局部存储(Thread-Local Storage, TLS)
    • 特点
    • 示例
  • 7.综合示例代码
  • 8.关键区别总结
  • 总结


前言

在 C/C++ 中,变量的存储位置直接影响其生命周期、作用域和访问方式。以下是主要存储区域及其示例代码:


1. 栈(Stack)

特点

特点:自动分配/释放,函数局部变量、参数等,速度快但空间有限(通常几MB)

生命周期

生命周期:函数调用开始到结束

示例

void foo() {int a = 10;          // 栈上分配char buffer[1024];   // 栈上数组
}

2. 堆(Heap)

特点

特点:手动分配/释放malloc/free 或 new/delete),空间大但需管理

生命周期

生命周期:从分配直到显式释放

示例

// C 风格
int *p1 = (int*)malloc(sizeof(int));  // 堆分配
free(p1);
// C++ 风格
int *p2 = new int;       // 堆分配
delete p2;

3. 静态区(Static/Global 区)

a. 已初始化数据段(.data 段)

特点

特点:显式初始化的全局变量、静态变量

生命周期

生命周期:程序启动到结束

示例

int global_var = 42;      // 全局变量,.data 段void func() {static int static_local = 10;  // 静态局部变量,.data 段
}

b. 未初始化数据段(.bss 段)

特点

特点:未显式初始化的全局变量、静态变量(默认初始化为0)

示例

int global_uninit;        // .bss 段(初始化为0)void func() {static int static_uninit;  // .bss 段(初始化为0)
}

4. 文字常量区(常量区)

特点

特点:存放字符串常量和 const 常量(只读)

生命周期

生命周期:程序启动到结束

示例

const char* str = "Hello";  // "Hello" 在常量区,str 自身可能在栈或静态区
const int MAX = 100;        // 可能被编译器优化到常量区或直接内联

5. 代码区(Text Segment)

特点

特点:存放程序的可执行指令(如函数体代码)

示例

void some_function() {  // 函数体的**机器码**存放在代码区// ...
}

6. 线程局部存储(Thread-Local Storage, TLS)

特点

特点:每个线程独立的变量(C11/C++11 起支持 _Thread_local 或 thread_local)

示例

#include <threads.h>
_Thread_local int tls_var;  // 每个线程独立实例

7.综合示例代码

#include <stdlib.h>
#include <stdio.h>// 静态区(.data 段)
int global_initialized = 10;// 静态区(.bss 段)
int global_uninitialized;void func() {// 栈变量int local_stack = 20;// 静态局部变量(.data 或 .bss 段)static int static_local = 30;// 堆分配int* heap_var = (int*)malloc(sizeof(int));*heap_var = 40;free(heap_var);
}int main() {// 栈变量int a = 50;// 堆分配int* b = (int*)malloc(sizeof(int));*b = 60;func();// 常量区const char* str = "Constant String";free(b);return 0;
}

8.关键区别总结

存储区 分配方式 生命周期 典型用途
自动 函数调用期间 局部变量、参数
手动(new/malloc) 显式释放前 动态数据结构
静态区 编译器 程序运行期间 全局变量、静态变量
文字常量区 编译器 程序运行期间 字符串常量、const
代码区 编译器 程序运行期间 可执行指令

理解这些区域有助于避免内存泄漏、悬垂指针等问题,并优化程序性能。


总结

以上就是今天要讲的内容,本文仅仅简单介绍了C/C++中的不同变量存储位置下的变量的分配方式、生命周期、典型用途。

http://www.dtcms.com/wzjs/113462.html

相关文章:

  • 旅游网站策划书百度网盟推广
  • 如何去做网络推广页面优化的方法
  • 设置备份管理wordpress长沙谷歌优化
  • 国外设计公司名字seo工资
  • 快递公司网站源码舆情监测系统
  • 微信编辑器做网站引流最好的推广方法
  • 南阳企业网站建设公司体验营销案例分析
  • 南京公司网站开发百度搜索关键词排名人工优化
  • 忘记网站后台用户名长沙网站建站模板
  • wordpress首页文件夹seo优化推广工程师招聘
  • 厦门网站建设 首选猴子网络seo技术最新黑帽
  • 乐东黎族自治县住房建设局网站chrome浏览器下载安卓手机
  • 外贸网站 在线留言建设网站的十个步骤
  • 自己做的旅游网站 介绍世界球队实力排名
  • 常州化龙巷网站favicon.ico百度站长工具链接提交
  • 网站建设hengfengera百度网盘官方
  • 天津做网站选择津坤科技c相亲网站排名前十名
  • 网站怎么更新内容百度指数搜索榜度指数
  • 个人可以做视频网站吗百度招聘网最新招聘信息
  • 建筑人才网下载广东网站优化公司
  • 魔站网站开发广东佛山疫情最新情况
  • 河南专业网站建设开发团队网站推广多少钱一年
  • 解放碑电子商务网站建设济南seo外包公司
  • 绵阳高新区建设局网站腾讯广告推广怎么做
  • 凡科网站做商城青岛关键词优化报价
  • 厦门网站建设培训费用百度seo外包
  • 网站更新后 为什么不显示东莞寮步最新通知
  • 重庆住建网站百度免费安装下载
  • 建站有哪些公司自己做一个网站需要多少钱
  • 模板王字库下载合肥关键词排名优化