No entiendo?,argv[i] es un array de 2 dimensiones tipo char y cada vez que entra a la funcion argv trae nuevos datos,record_count se incrementa cada vez que sale entonces la primera vez vale 0 y va de 0 al 1,entonces solo agrega 1 elemento a la lista de row cuando termina incrementa en 1 y asi susesivamente creo que no puse el codigo completo lo anexo aqui:
Código:
int Tadquery::callback(int argc, char **argv, char **azColName){
int i,j,h;
h=0;
char *s;
if (record_count==0)
{
arr_number=argc;
Col_name=azColName;
rows=(char *** )calloc(argc, sizeof(char ** )) ;
for(int i = 0 ; i < argc; i++ )
{
rows[i] = (char ** ) calloc(1,sizeof(char * )) ;
}
}
else{
for(int i = 0 ; i < argc; i++ )
{
rows[i] = (char ** ) realloc(rows[i],(record_count+1) * sizeof(char * )) ;
}
}
for(i=0;i<argc;i++)
{
for(j=record_count; j<(record_count+1) ; j++ )
{
s=argv[i];//esto no lo tomes en cuenta solo lo hize para saber que datos traia
rows[i][j]=argv[i];
}
}
system("cls");
for(i=0;i<argc;i++)
{
for(j =0 ; j < (record_count+1) ; j++ )
{
printf("%s \n",rows[i][j]);
}
}
record_count++;
return 0;
}
Una disculpa