c语言实现malloc,int*p=(int*)malloc(4)


int* 是一个整体被编译器识别解释為整型指针, 而不是你想当然的认为是 int *p,你学的谭浩强的书?坑人不浅啊

* 永远跟着类型,而不是变量除非你想间址

你对这个回答的评价是?


malloc 是一个函数(int *)的意思是分配的空间转强制换成变量p的类型 ,因为p是(int *)类型也就是整型指针

你对这个回答的评价是?


你去看下动態链表的建立方法动态开辟内存用malloc函数,函数原型:(void *)malloc(size_t size)函数原型说的很明白了

你对这个回答的评价是?


你这样的话p就是整型了

你对这個回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

这两条语句的区别和有什么意思

很是疑惑啊,还望各位大大指点下吧!小弟感激不尽啊


知道合伙人IT服务行家
知道合伙人IT服务行家

采纳数:616 获赞数:929

熟悉常用语言和数據库,爱写代码


第一个共占10字节只能放2个int元素还多2字节

你说的第一个共占10字节,只能放2个int元素还多2字节
这个我还可以理解
10*sizeof(int)和40在32位系统下是一样的
但是那个
第二个能放10个是什么意思?
还有一般如果我不确定我造的数组有多大,我应该怎样填写第一种的还是第二种?
第二个能放10个int元素
不确定不行的你就取个有可能的最大值好了,或者用realloc重新分配
你最后那种只能放一个int
恩这跟第二个不是一样么?

伱对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

4个字节4*5=20 也就是给该指针动态分配20个字节的内存空间!假设for(i= 0;i<20;i++)!这里20个字节的内存空间是指单个元素可占20个字节的空间,还是只能输入5个元素

显,p1一定是定义为int *p1;的所

针哽改类型为int *

说明要申请多少字节数据,这里要申请一个连续5个整型的数据区

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我要回帖

更多关于 c语言实现malloc 的文章

 

随机推荐