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

网站建设规划模板已有域名怎么建设网站

网站建设规划模板,已有域名怎么建设网站,本地常州网站建设,公司名称变更网站要重新备案文章目录 前言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/a/580379.html

相关文章:

  • 英文写作网站论坛网站开发文档
  • 青岛商城网站建设wordpress卖
  • 上海做网站价格程序开发合同
  • 休闲咖啡厅网站开发目标英语复试口语模板
  • 成都医疗seo整站优化wordpress 图片暗箱
  • 上饶建设局网站营销培训心得体会总结
  • 许昌河南网站建设青岛黄页电话查询
  • 白云网站建设多少钱最近韩国电影片免费观看
  • 舞台灯光网站建设公司北京外贸网站建设
  • 开发门户网站需要注意什么类似于百度快照的网站
  • 网站建设页面底部叫什么it外包合同范本
  • 网站建设和托管哪家好免费网站建设 源代码
  • 专业律所网站建设wordpress 用户积分系统
  • 公司网站建设一条龙山东机关建设网站
  • 旅游网站建设开发个性化定制网站
  • 网站详情页用哪个软件做网站打开的速度特别慢的原因
  • 九龙坡做网站wordpress中logo大小
  • 高培淇自己做的网站动漫设计专业的学校
  • 广东深广东深圳网站建设服务编程培训机构排名
  • 西安专业做网站的公司有哪些做自己的网站
  • 网站建设的淘宝模板做网站在哪里申请
  • 企业文化建设网站建设专业外贸网站建设 诚信 青岛
  • 利用高权重网站做关键词c2c模式的议价方式有
  • 建设网站 怀疑对方传销 网站制作 缓刑徐州网页公司
  • 服务周到的微网站建设建设网站 无法显示图片
  • 杭州网站建设求职简历太原有哪些做网站的公司
  • 查看网站服务器ip如何优化标题关键词
  • 厦门广告公司网站建设房地产公司如何网站建设
  • 自己做的网站是怎么赚钱高性能网站建设指南 书
  • 昭通网站建设兼职食品网站开发步骤