C 类型转换在动态内存分配中扮演什么角色?
据我所知,动态内存分配可以通过使用C 类型转换在动态内存分配中扮演什么角色?,c,memory,dynamic,malloc,allocation,C,Memory,Dynamic,Malloc,Allocation,据我所知,动态内存分配可以通过使用malloc函数在C中完成: int *p = (int *)malloc(sizeof(int)) 我的问题是: 动态内存分配是如何工作的,它与常规方法(即静态分配)在工作方面有何不同 在malloc()函数之前,语句(int*)的作用是什么 类型转换在这里扮演什么角色?(如果是这样的话) 动态内存分配是如何工作的,它在工作方面与常规方法有什么不同 您有一个在运行时管理从操作系统分配的内存页的库。该库管理这些页面并对其进行细分,以处理malloc(
malloc
函数在C中完成:
int *p = (int *)malloc(sizeof(int))
我的问题是:
malloc()
函数之前,语句(int*)
的作用是什么请参见上文。默认情况下
malloc()
返回一个空指针。按照常规方法,我指的是静态内存分配。静态和动态内存分配的工作方式有什么不同?C编译器不会生成这样的警告。在C++中,你应该使用<代码>新< /C> >而不是<代码> MalOC ,它也不需要显式强制转换。不应该有警告消息;如果真的有这样一个问题,那么这是一个不应该被删除的重要内容(例如,你没有包括stdlib.h),我不知道这如何回答这个问题,或者如何改进/扩展上面已经发布的问题。