Napisałem kilka funkcji do obsługi tablic dwuwymiarowych i nie jestem pewien czy są one poprawne:
char **NewTable(int sizeX, int sizeY)
{
char **table;
table = (char**)malloc(sizeX*sizeof(char*));
for(int i=0;i<sizeX;i++)
{
table[i]=(char*)malloc(sizeY*sizeof(char));
}
return table;
}
void FillTable(int sizeX, int sizeY, char** table)
{
for(int i=0;i<sizeX;i++)
{
scanf("%s",table[i]);
}
}
void PrintSingle(int index, char** table)
{
printf("%s\n",table[index]);
}
void DeleteTable(int sizeX, int sizeY, char** table)
{
for(int i=0;i<sizeX;i++)
free(table[i]);
free(table);
}
Chciałem stworzyć tablicę do przechowywania łańcuchów znaków;
EDIT:
Dodałem jeszcze odczyt z pliku:
void fFillTable(FILE* stream,int sizeX,int intsizeY,char**table)
{
for(int i=0;i<sizeX;i++)
{
fscanf(stream,"%s",table[i]);
}
}
Jakieś opinie ?