p=(int*)malloc(sizeof(int)*(n+1))是什么意思 20

各位大侠,我是一个初学者,不明白这个是什么意思,请大家帮帮忙解释一下!... 各位大侠,我是一个初学者,不明白这个是什么意思,请大家帮帮忙解释一下! 展开
 我来答
main_inf
推荐于2018-03-20 · TA获得超过1575个赞
知道小有建树答主
回答量:811
采纳率:100%
帮助的人:534万
展开全部
malloc 是内存分配

分配的空间以字节为单位

sizeof(int)*(n+1) 是求一个字节数的过程

sizeof(int)就是int类型的字节数,再*(n+1),其实就是连续的n+1个int型数的空间所含的字节数

前面二者合起来就是分配了大小为n+1个int型的空间所含的字节数

此时(int*)是强制转化为int型的指针,所以p就是一个指向这连续n+1个int的int指针。

另外这种分配内存的方式是C语言中实现的,为什么不直接指明字节数,而用sizeof(int)这种运算是因为对于不同的计算机,对于int的分配空间不一定相同,这样有一定的移值性。不过好像没有弄C 了,现在都用java,所以不知道还对不对呵,印象中是这样。
kwl5209876
2009-03-09 · 超过12用户采纳过TA的回答
知道答主
回答量:249
采纳率:0%
帮助的人:70.7万
展开全部
sizeof就是空间大小嘛,malloc就是分配空间的意思,int整形。你自己试着理解完了在软件上尝试,初学者这样入门也挺不错的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友edd6353bd
2009-03-09 · TA获得超过1162个赞
知道小有建树答主
回答量:2513
采纳率:0%
帮助的人:1421万
展开全部
就是给p分配n+1个整数空间
相当于 p = new int(n+1);即p为n+1大小的整数数组!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
咣头不戴帽0G3
2009-03-09 · 贡献了超过212个回答
知道答主
回答量:212
采纳率:0%
帮助的人:70万
展开全部
就是P指向一个大小为(n+1)×int的空间
P指向第一个单元
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式