标题:
动态二维数组分配问题!
[打印本页]
作者:
crazytyt
时间:
2007-6-15 18:40
标题:
动态二维数组分配问题!
我们最常见的方法是: char ** pp; pp = (char**)malloc(sizeof(char*)*size); for (int i = 0; i++; i < size){ pp
= (char*)malloc(sizeof(char)*sizetwo) } 牛人方法是: struct xxx **x; x = (struct xxx **) darray_new(5, 4, sizeof(struct xxx)); ... 这里就可以用 x[1][3] ... x[0][3] ... 来操作了:) ... darray_free(x); #include
#include
#include
void **darray_new(int row, int col, int size) { 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; } return arr; } void darray_free(void **arr) { if (arr != NULL) free(arr); }
欢迎光临 珩源工控论坛 (http://bbs.hymcu.com/)
Powered by Discuz! 7.2