#include
<
stdio.h
>
#include < stdlib.h >
#include < string .h >
template < class T >
T ** darray_new( int row, int col, int size)
... {
T **arr;
arr = (T **) malloc(sizeof(T *) * row + size * row * col);
if (arr != NULL)
...{
T *head;
head = (T *) arr + sizeof(T *) * row;
memset(arr, 0, sizeof(T *) * row + size * row * col);
while (row--)
arr[row] = head + size * row * col;
}
return arr;
}
template < class T >
void darray_free(T ** arr)
... {
if (arr != NULL)
free(arr);
}
#include < stdlib.h >
#include < string .h >
template < class T >
T ** darray_new( int row, int col, int size)
... {
T **arr;
arr = (T **) malloc(sizeof(T *) * row + size * row * col);
if (arr != NULL)
...{
T *head;
head = (T *) arr + sizeof(T *) * row;
memset(arr, 0, sizeof(T *) * row + size * row * col);
while (row--)
arr[row] = head + size * row * col;
}
return arr;
}
template < class T >
void darray_free(T ** arr)
... {
if (arr != NULL)
free(arr);
}