C语言高手进 int * p = (int *)malloc(sizeof(int));

int*p=(int*)malloc(sizeof(int));这条语句应该怎么理解啊对于动态分配我还不是太理解。从内存角度他是怎么分配的?... int * p = (int *)malloc(sizeof(int)); 这条语句 应该怎么理解啊 对于动态分配我还不是太理解 。从内存角度他是怎么分配的? 展开
 我来答
留以邵含巧
2019-08-04 · TA获得超过3995个赞
知道大有可为答主
回答量:3103
采纳率:30%
帮助的人:184万
展开全部
malloc()函数的作用是分配制定字节数的空间
sizeof()为单目运算
求出对应类型所占用的字节数
(类型名)为单目运算
为强制类型转换
要注意的是
malloce函数申请得到的空间是无类型的空间
必须强制转换成对应指针可以指向的空间的类型
这里定义的是int
*p
所以p指针只能指向int型空间
sizeof(int)
求得int类型所占的字节数
malloc(sizeof(int))
申请一个跟int所占的空间大小一样的空间
(int*)malloc(sizeof(int))
将申请得到的空间地址转换成了int类型空间地址
最后就可以赋值给指向int型空间的p指针了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式