当前位置:网站首页>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;
}
边栏推荐
猜你喜欢

【培训课程专用】CA/TA调用模型-代码导读

bs4的使用基础学习

XCTF College War "Epidemic" Network Security Sharing Competition Misc wp

Module模块化编程的优点有哪些

加密技术和电子竞技如何促进彼此的发展

Regular Expressions for Shell Programming

微信小程序获取用户收货地址列表wx.chooseAddress

leetcode 35. 搜索插入位置(二分法+找性质也很关键)

web3到底是什么?

The 5th Blue Cap Cup preliminary misc reappears after the game
随机推荐
gin中简单的curd接口例子
【GNN】2022 G-Mixup: Graph Data Augmentation for Graph Classification
CPU主频 外频 芯片组 倍频 cache FSB PCI简介
【培训课程专用】CA/TA调用模型-代码导读
基于蓝牙定位功能开发的医院智能导航系统
SQL Server2000 各个版本之间的区别
gin中模型中增删改查+搜索分页
uniapp编译到小程序后丢失static文件夹问题
RDMA
微信小程序获取用户收货地址列表wx.chooseAddress
The working principle of switch
【场景化解决方案】构建设备通讯录,制造业设备上钉实现设备高效管理
PID控制电机输出作为电机PWM占空比输入的理解
makefile的foreach、filter、filter-out函数
The difference between big-endian and little-endian storage is easy to understand at a glance
Kibana:为地图应用选择不同的语言 - Elastic Stack 8.3
DeFi 项目中的治理Token
gin清晰简化版curd接口例子
Arduino+2片74hc595 驱动8x8(共阳)点阵(1008BS)
BUUCTF MISC brush notes (2)