对于指针数组的初始化,一直都不是很理解,现把整理如下
typedef struct {
int dum;
int ent;
} MUENST;
void test17(MUENST** x_pUenst)
{
int i,j;
for (i = 0; i < 8; i++)
{
x_pUenst[i] = (MUENST*)malloc(sizeof(MUENST)*4096);
}
}
void test16(MUENST** x_pUenst)
{
*x_pUenst = (MUENST*)malloc(sizeof(MUENST)*8*4096);
}
int main(int argc, char* argv[])
{
int i,j;
MUENST* x_pUenst[8];
MUENST* x_pUenst1;
/*test16(&x_pUenst1);
for(i = 0; i < 8*4096;i++)
(x_pUenst1+i)->ent = 9;
for(i = 0; i < 8*4096;i++)
printf("%d/n",(x_pUenst1+i)->ent);
free(x_pUenst1);*/
test17(x_pUenst);
for ( i = 0; i < 8; i++)
{
for(j = 0; j < 4096;j ++)
x_pUenst[i][j].ent = 9;
}
for ( i = 0; i < 8; i++)
{
for(j = 0; j < 4096;j ++)
printf("%d/n",x_pUenst[i][j].ent);
}
for (i = 0; i < 8; i++)
free(x_pUenst[i]);
}