当前位置:网站首页>When and How to use MALLOC
When and How to use MALLOC
2022-08-09 09:01:00 【Mike峰】
计算机系统的四个内存区域:
(1)栈
(2)字符常量区
如存储 char *p_str=”cgat”;其中”cgat”就储存在字符常量区里面。
(2)全局区
存储全局变量、动态变量
(3)堆
动态分配的存储空间
什么时候需要分配动态存储空间呢?
对于int *p这样的指针,我们定义了之后却没有指定p到底在哪里,这个时候就需要我们分配空间(可以是动态分配存储空间,或者是初始化)
Note:我们在刚刚接触指针的时候遇到过这样的情况,int *p;p=&a;这种方法不是指针的动态分配内存,这个叫做指针变量的初始化!初始化同样也可以让指针变量有方向可指。
下面示例指出了malloc的使用方法:(摘自runoob)
结果:
Node* initNode(Node * head){
head=(Node*)malloc(sizeof(Node));//创建链表第一个结点(首元结点)
head->prior=NULL;
head->next=NULL;
head->data=1;
Node * list=head;
for (int i=2; i<=3; i++) {
//创建并初始化一个新结点
Node * body=(Node*)malloc(sizeof(Node));
body->prior=NULL;
body->next=NULL;
body->data=i;
list->next=body;//直接前趋结点的next指针指向新结点
body->prior=list;//新结点指向直接前趋结点
list=list->next;
}
return head;
}
边栏推荐
- js实现看板全屏功能
- 探索APP性能优化之稳定性优化(解决方案)
- BUUCTF MISC brush notes (2)
- 【Harmony OS】【ARK UI】公共事件模块
- 常用SQL server语句
- + 6000 words, help you understand the Internet architecture evolution.
- Where does detection go forward?
- UE4 RTS 框选功能实现
- Tencent cloud server is modified to root login to install pagoda panel
- The 5th Blue Cap Cup preliminary misc reappears after the game
猜你喜欢
随机推荐
PoPW token distribution mechanism may ignite the next bull market
长辈相亲
The embedded serial port interrupt can only receive one byte
C#学习笔记
STM32 如何知道FLASH的使用情况
verilog独热码实现译码MIPS指令集
[V&N2020 公开赛]内存取证
Calendar类和Date类转换时区 && 部分时区城市列表
leetcode 33. 搜索旋转排序数组 (二分经典题)
bs4之爬取诗词学习
【培训课程专用】RPC模型:代码导读
Kibana:为地图应用选择不同的语言 - Elastic Stack 8.3
vim 按了Ctrl+S后 卡死
政务中心导航定位系统,让高效率办事成为可能
H5页面px不对,单位不对等问题
VoLTE基础自学系列 | IMS的业务触发机制
Arduino+2片74hc595 驱动8x8(共阳)点阵(1008BS)
【CNN】2022 ECCV 对比视觉Transformer的在线持续学习
【KD】2022 KDD Compressing Deep Graph Neural Networks via Adversarial Knowledge Distillation
gin中简单的curd接口例子