- 1
- 0
- 约7.36千字
- 约 33页
- 2017-02-04 发布于江苏
- 举报
第19章 生存期、作用域与可见域 有时兴致勃勃地写完一大页的程序,编译链接却跳出了很多奇奇怪怪的错误,比如某某变量未定义,某某函数找不到,你可能在嘀咕,这个函数明明在这里啊,那不是某某变量么?是不是编译器有问题啊?读完本章你就会发现,编译器没有问题,是函数、变量的作用域、生存期与可见域在作怪。 可能涉及到的程序要素有:变量(普通类型的变量、结构体变量和共用体变量的统称),常量、函数以及结构体、共用体的定义等。 19.1 内存分配 变量名、函数名等都对应着内存中的一块区域,那这些实体在内存中是如何存放的呢,程序又是如何使用这些变量的,首先从C程序内存分配入手,一步步回答这些问题。 19.1.1 内存分区 一个由C编译的程序占用的内存大致分为以下几部分: 栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量的值等。 堆区(heap):一般由程序员分配释放(动态内存申请与释放),若程序员不释放,程序结束时可能由操作系统回收。 全局区(静态区)(static):全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域,该区域在程序结束后由操作系统释放。 常量区:字符串常量和其他常量的存储位置,程序结束后由操作系统释放。 程序代码区:存放函数体的二进制代码。 19.1.2 变量的存储类别 C
您可能关注的文档
最近下载
- 2022-2023年临床医学期末复习-内科学(本科临床定向专业)考试题库全真精品.pdf VIP
- 三下期中家长会课件.pptx VIP
- 2024年吉林省烟草专卖局(公司)笔试试题及答案.docx VIP
- 2026年新版贵州专升本c语言复习题.doc VIP
- 实训任务二 前保险杠总成的拆装与更换.docx VIP
- 2022-2023年临床医学期末复习-内科学(本科临床定向专业)考试全真模考卷2(附答案).docx VIP
- “一带一路”倡议对共建国家通信基础设施的影响研究.pdf VIP
- 《数星星的孩子》公开课教案.pptx VIP
- 财务会计-清产核资明细表-适用于执行企业会计准则的单位(空白版).xlsx VIP
- 保险理赔员考试试题及答案.docx VIP
原创力文档

文档评论(0)