程序数据在内存中如何储存
int a = 0; // 全局初始化区
char *p1; // 全局未初始化区int main()
{int e; // 栈区char d[] = "Kingdev"; // 栈区char *p2; // 栈区char *p3 = "98765"; // 98765/0 在常量区,p3在栈区static int c = 0; // 全局区[静态区]strcpy(p1, "98765"); // 98765/0 放在常量区,编译器可能会将它与p3所指向的“98765”优化成一个地方。p1 = (char *)malloc(10); // 分配得来得10字节的区域就在堆区p2 = (char *)malloc(20); // 分配得来得20字节的区域就在堆区system("pause");return 0;
}
在计算机系统中,运行的应用程序的数据都是保存在内存中,不同类型的数据,保存的内存区域不同,包括:
1、栈区[stack]:由编译器自动分配释放 ,存放为运行函数而分配的局部变量、函数参数、返回数据、返回地址等。(内存分配时,与堆相向而生,因此申请内存是有限的,运用不当,会出现栈溢出)
2、堆区[heap]:一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式类似于链表。
3、全局区[静态区(static)]:全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后由系统释放。
4、文字常量区:常量字符串就是放在这里的。存放常量字符穿。程序结束后由系统释放。
5、程序代码区:存放函数体(类成员函数和全局函数)的二进制代码。
6、寄存器区:用来保存栈顶指针和指令指针(汇编操作)。
https://www.cnblogs.com/xiu619544553/p/5325177.html 【数据在内存中的存储】
C语言数据在内存中的存储 - 知乎 (zhihu.com)
程序数据在内存中如何储存相关推荐
- C语言学习(三)内存初识、数据在内存中的保存形式、程序载入内存
(一)内存与存储(硬盘) 首先要明确一点,内存不同于存储.内存中的数据存储在内存条中.而一般的存储,数据则保存在硬盘中.这里我只给出一些表象的区别,如果还想更深入的了解,请自行搜索,此篇所展示的重 ...
- 数据的存储--深度解剖数据在内存中的存储
目录 本章重点 一 数据类型介绍 1.1 类型的基本分类 整形家族 浮点数家族 构造类型 指针类型 空类型 二 整形在内存中的存储 2.1 原码.反码.补码 2.2 大小端介绍 设计一个程序,判断当前 ...
- 09数据在内存中的存储
此篇博客带大家具体了解了C语言整形和浮点型在内存中的存储情况,通过这篇博客我们将会对内存有进一步的了解. 文章目录 一.回顾数据类型 1.1类型的基本归类 二.整形在内存中的存储 2.1原码.反码和补 ...
- 在c语言中char型数据在内存中的储存形式为什么
在c语言中char型数据在内存中的储存形式为"ASCII码".在C语言中,将一个字符常量放到一个字符变量中,实际并不是把该字符本身放到内存单元中,而是将与该字符相对应的ASCII码 ...
- java 内存分布_java的各类型数据在内存中分配情况详解_
1. 有这样一种说法,如今争锋于IT战场的两大势力,MS一族偏重于底层实现,Java一族偏重于系统架构.说法根据无从考证,但从两大势力各自的社区力量和图书市场已有佳作不难看出,此说法不虚,但掌握Jav ...
- c语言字母是怎么存储,C语言之数据在内存中的存储
C语言之数据在内存中的存储 在我们学习此之前,我们先来回忆一下C语言中都有哪些数据类型呢? 首先我们来看看C语言中的基本的内置类型: char //字符数据类型 short //短整型 int //整 ...
- C语言——深度剖析数据在内存中的存储
大家好!我是保护小周ღ,本期为大家带来的是深度剖析数据在内存中的存储,不知道,大家学了这么久C语言,有没有想过一个问题,我们在程序设计中的数据是怎么在计算机中存储的?我们都知道 一个整型数据 int ...
- C语言小记:结构体及其在内存中的储存形式
C语言小记:结构体及其在内存中的储存形式 1.结构体 结构体的作用:自定义一个包含多种不同数据类型的变量. 语法: struct 结构体名称 {结构体成员1:结构体成员2:结构体成员3:... } 定 ...
- C语言--数据在内存中的存储
目录 一.数据类型详细介绍 1.数据类型介绍 2.数据类型基本归类 二.整形在内存中的存储:原码.反码.补码 三.大小端字节序介绍及其判断 练习题 四.浮点型在内存中的存储解析 一.数据类型详细介绍 ...
最新文章
- 如何解决java.lang.NoClassDefFoundError:Java 9中的javax / xml / bind / JAXBException
- joblib自定义类的使用细节
- html代码type,HTML中type是什么意思
- Rafy 框架 - 使用 SqlTree 查询
- Pytorch解决LSTM前向传播时报错:RuntimeError: input must have 3 dimensions, got 2
- aspose word 转pdf中文乱码_pdf转word——都是乱码!怎么办
- android ril.java_Android RIL的java框架
- 关于Windows汇总累积更新的认识误区和正确的使用方式
- java最新全套学习视频(java,前端,其他语言)
- 服务器usb驱动安装系统安装失败怎么办,USB3.0驱动无法安装失败怎么办?USB驱动失败失败的解决方法...
- iis服务器mp4不显示,IIS浏览器无法读取mp4视频的解决方法
- QNX系列:五、资源管理器(1)官方文档的翻译
- 最近很火的ChatGPT和GPT4
- C#图片放大缩小拖动
- C语言中“=,^=,|=”分别表示什么意
- 70个必备的数据分析工具
- mysql多表联合查询 去重_mysql中的多表联合并且去重排序
- pytorch测试报错:RuntimeError: cuda runtime error (10) : invalid device ordinal at torch/csrc/cuda/Module
- 人类创造出来的世界——电子世界
- Android Studio第九期 - QQ计步器效果