当前位置:网站首页>关于指针、地址的大小的问题(以及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这个指针。
边栏推荐
- mysql-5.5.40的完全卸载
- 解决iframe跳转时父页面仍然存在的问题
- nyoj306 走迷宫(搜索+二分)
- 算术表达式求值演示
- Go语言技巧之正确高效使用slice(听课笔记总结--简单易懂)
- XCTF College War "Epidemic" Network Security Sharing Competition Misc wp
- 【GNN】2022 G-Mixup: Graph Data Augmentation for Graph Classification
- leetcode 33. 搜索旋转排序数组 (二分经典题)
- leetcode 32. 最长有效括号 (困难)
- 基于 JSch 实现服务的自定义监控解决方案
猜你喜欢
公司从零开发微信小程序流程
ctfshow-web入门 文件上传篇部分题解
The principle and configuration of VLAN
Kibana:为地图应用选择不同的语言 - Elastic Stack 8.3
[V&N2020 Open] Memory Forensics
H5页面px不对,单位不对等问题
[Vulnerability reproduction] CVE-2018-12613 (remote file inclusion)
QT program generates independent exe program (pit-avoiding version)
Redis缓存设计
【场景化解决方案】构建医疗通讯录,“慧医钉”助力医院实现数字化管理
随机推荐
ASEMI整流桥GBJ810参数,GBJ810封装,GBJ810重量
STM32 如何知道FLASH的使用情况
ASP.net中的数据库应用
uniapp编译到小程序后丢失static文件夹问题
convert转换时间详解
政务中心导航定位系统,让高效率办事成为可能
elder blind date
UE4 RTS 框选功能实现
RESTful
fastadmin图片上传方法改造
电子产品整机结构设计的一般性思路
智慧图书馆的导航方案-定位导航导览-只用一个方案全部实现
往二维数组追加键值
支付宝小程序禁止页面弹性下拉或上拉
leetcode 34. 在排序数组中查找元素的第一个和最后一个位置(二分经典题)
vim 按了Ctrl+S后 卡死
内存中的swap机制
Venture DAO 行业研报:宏观和经典案例分析、模式总结、未来建议
requests之模拟登录学习
gin清晰简化版curd接口例子