当前位置:网站首页>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;
}
边栏推荐
猜你喜欢
随机推荐
探索APP性能优化之稳定性优化(解决方案)
这下你知道为什么程序员要和产品干架了吧?
嵌入式之串口中断只能收到一个字节
nyoj306 走迷宫(搜索+二分)
[Vulnerability reproduction] CVE-2018-7490 (path traversal)
小程序/app触底加载更多数据
智慧图书馆的导航方案-定位导航导览-只用一个方案全部实现
BUUCTF MISC刷题笔记(一)
ctf misc picture questions knowledge points
The 5th Blue Cap Cup preliminary misc reappears after the game
PoPW代币分配机制或将点燃下一个牛市
【愚公系列】2022年08月 Go教学课程 033-结构体方法重写、方法值、方法表达式
define 可变参数定义
【场景化解决方案】OA审批与用友U9数据集成
requests之防盗链学习
MySQL创建索引的技巧
NodeMCU(ESP8266) 接入阿里云物联网平台 踩坑之旅
ASEMI整流桥GBJ810参数,GBJ810封装,GBJ810重量
1. LVGL 8.3 在 Visual Studio 2019 模拟器中的环境搭建
Xpath之爬取全国城市名称学习