#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); }