c语言字符指针清零,一起学习C语言:初谈指针(二)

上一篇 中,我们了解了指针变量的声明和初始化方式,以及指针变量的引用赋值方式。本篇文章中,我们初步分析不同的内存空间 ,并通过示例来了解动态内存的分配、使用和释放方式。

章节预览:

4. 首谈进程中的内存区域

5. 指针变量存储字符串常量

6. 如何动态分配内存空间

目录预览

章节内容:

4. 首谈进程中的内存区域

当程序执行时,程序将会以进程的形式存在虚拟内存中,系统会为我们的进程分配不同的内存空间。我们的进程就像一个大箱子,程序定义的对象放置在这个箱子中的某个区域中的某个位置。接下来,我们初次了解进程中的不同内存空间:

代码段:英文名称code segment / text segment,通常用来存放程序执行代码的内存区域。这部分区域的大小在程序加载时就已经确定,并且在大部分情况下内存区域通常属于只读状态(某些架构允许代码段为可写状态)。在代码段中,宏、函数存储在这个区域,也有可能存储一些常数量。另外,常数量的值不允许修改。

数据段:英文名称 data segment,通常存放程序中已初始化的全局变量的内存区域。数据段属于静态内存分配,其中包括全局变量、静态变量和常数量。关于全局变量和静态变量的内容,将在“函数”章节中讲述。

bss段:英文名称bss segment,通常用来存放程序中未初始化的全局变量的内存区域。bss属于静态内存分配,在程序执行之前bss段自动清零。

栈区:英文名称stack,通常用来存放程序中临时创建的局部变量的内存区域。栈属于动态内存储存区,栈的内存由函数执行期间申请,在函数执行结束后

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值