当前位置:网站首页>关于指针、地址的大小的问题(以及malloc的用法)
关于指针、地址的大小的问题(以及malloc的用法)
2022-08-09 09:01:00 【Mike峰】
任何变量的指针大小都是一样大小的空间,例如在64位机中是4个字节,在32位机中是2个字节。
而我们分配一个地址,就比如
力扣145题
https://leetcode-cn.com/problems/binary-tree-postorder-traversal/solution/er-cha-shu-de-hou-xu-bian-li-by-leetcode-solution/
该题其中一句:
int *matrix = malloc(sizeof(int) * 2001);
给res这个指针分配了2001的int大小的空间,实际上就是给这里分配了可以装下2001个int类型变量的空间, 并且空间的首地址分配为res。

虽然分成了块,但是实际上空间是连续的,会意即可。
接下来,我们插入一个程序
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct node
{
char aa[10];
}Node;
int main()
{
Node* fat = (Node*)malloc(sizeof(Node*));
strcpy(fat->aa, "aaa");
printf("%s", fat->aa);
}
有什么问题呢,我们看到
Node* fat = (Node*)malloc(sizeof(Node*));
Node*表示分配的是Node*(也就是指针4字节)这么大的空间,
实际上我们需要的是Node这么大的空间分给fat这个指针。
边栏推荐
猜你喜欢

【场景化解决方案】构建设备通讯录,制造业设备上钉实现设备高效管理
![[漏洞复现]CVE-2018-12613(远程文件包含)](/img/0b/707eb4266cb5099ca1ef58225642bf.png)
[漏洞复现]CVE-2018-12613(远程文件包含)

Some of the topics in VNCTF2021 are reproduced

【CNN】2022 ECCV 对比视觉Transformer的在线持续学习

Redis redis 】 【 the expiration of listening

nodeMCU(ESP8266)和RC522的接线图

法院3D导航系统-轻松实现室内实时定位导航

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

【场景化解决方案】搭建数据桥梁,Dslink打通泛微系统连接流

js在for循环中按照顺序响应请求
随机推荐
Makefile中patsubst、wildcard、notdir的使用
STM32 如何知道FLASH的使用情况
【GNN终身学习】2022 CVPR 终身图学习
Max Flow P
解决iframe跳转时父页面仍然存在的问题
内存监控以及优化
define 可变参数定义
长辈相亲
基于 JSch 实现服务的自定义监控解决方案
公司从零开发微信小程序流程
【场景化解决方案】OA审批与金智CRM数据同步
CPU主频 外频 芯片组 倍频 cache FSB PCI简介
SQL语言中的distinct说明
Dark Horse 2022 latest redis course notes and knowledge points (for interview)
leetcode 36. 有效的数独(模拟题)
GBJ610-ASEMI超薄整流扁桥GBJ610
这下你知道为什么程序员要和产品干架了吧?
SQL Server2000 各个版本之间的区别
【LeetCode每日一题】——225.用队列实现栈
【培训课程专用】Secureboot