该楼层疑似违规已被系统折叠隐藏此楼查看此楼
#include
#include
#include
void**darray_new(introw,intcol,intsize_t){
void**arr;
arr=(void**)malloc(sizeof(void*)*row+size_t*row*col);
if(arr!=NULL){
unsignedhead;
head=unsigned(arr+row);
memset(arr,0,sizeof(void*)*row+size_t*row*col);
while(row--){
arr[row]=(void*)(head+row*col*size_t);
}
}
returnarr;
}
voiddarray_free(void**arr){
if(arr!=NULL)free(arr);
}
void*darray2array(void**arr,introw){
return(void*)(arr+row);
}
我是根据这个版本改的:
#include
#include
#include
void**darray_new(introw,intcol,intsize)
{
void**arr;
arr=(void**)malloc(sizeof(void*)*row+size*row*col);
if(arr!=NULL)
{
void*head;
head=(void*)arr+sizeof(void*)*row;memset(arr,0,sizeof(void*)*row+size*row*col);while(row--)
arr[row]=head+size*row*col;
}
returnarr;
}
voiddarray_free(void**arr)
{
if(arr!=NULL)
free(arr);
}
不知道我改的有没有错�