永发信息网

这个malloc是什么意思啊

答案:2  悬赏:0  手机版
解决时间 2021-12-22 15:00
  • 提问者网友:温柔港
  • 2021-12-22 04:59
L.elem=(ElemTYpe *)malloc(LIST_INT_SIZE * sizeof(Elemtype))这是什么意思啊~~看不明白~~我知道是动态内存分配,但是看不懂 哪位可以解释一下吗?(我以前是学C++的,现在学正学数据结构,但用的是C的,看不明白)谢谢
最佳答案
  • 五星知识达人网友:底特律间谍
  • 2022-01-10 03:53
上式相当于:L.elem = new ElemType[LIST_INT_SIZE]; malloc需要的参数是:你需要申请内存的大小(字节); malloc返回的是指向该片缓冲区首地址的指针,是void*类型的,当用户需要使用的时候,需要转换为你需要的类型; 通常malloc的用法如下 TYPE* p = (TYPE*) malloc (SIZE* sizeof(TYPE)); 相当于:TYPE* p = new TYPE[SIZE]; 其中,TYPE表示你要申请的数据类型,SIZE表示你要申请多少个这样的数据的内存。 你还可以认为C++版的malloc是这样实现的: void* malloc(int nSize) { return new char[nSize]; }
求采纳
全部回答
  • 1楼网友:野慌
  • 2022-01-10 04:45
原型:extern void *malloc(unsigned int num_bytes); 头文件:#include 功能:分配长度为num_bytes字节的内存块 说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针null。 当内存不再使用时,应使用free()函数将内存块释放。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯