malloc(100)什么意思
1个回答
展开全部
malloc(100)是开辟了100个byte。一个int是32位,4个byte。你malloc(100)相当于只能装25个int。
---------------------
回答补充问题:
1、你p[500]=3也可以。但是因为你前面只开辟了100个byte,所以在超出的空间上进行的赋值操作其实是不安全的,因为系统认为100个byte之外的区域都是未被使用的,如果在其他地方还有malloc的操作的话,有可能将你非法使用的区域分配出去干其它事儿。而且,这种写越界的事儿往往在大型的系统中引起不可预知的一些问题。一定要避免,切记切记。
---------------------
回答补充问题:
1、你p[500]=3也可以。但是因为你前面只开辟了100个byte,所以在超出的空间上进行的赋值操作其实是不安全的,因为系统认为100个byte之外的区域都是未被使用的,如果在其他地方还有malloc的操作的话,有可能将你非法使用的区域分配出去干其它事儿。而且,这种写越界的事儿往往在大型的系统中引起不可预知的一些问题。一定要避免,切记切记。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询