Ich kann nicht auf das Array von Haupt in der Funktion zugreifen. Wie korrigiere ich das? Wenn ich es kompiliere, sagen wir, dass das Argument 1 vom Typ ** char ist und das Argument 1 in inkompatibel an fre übergeben wird. Muss ich irgendwelche Syntaxen ändern?Übergeben Char Charray in eine Funktion in C
void fre(char *asd);
int main()
{
char *names[7]={"Jayan Tennakoon","John Long","Robert Lang"};
int i;
for(i=0;i<7;i++)
{
printf("%s\n",names[i]);
}
fre(names);
return 0;
}
void fre(char *asd)
{
int i;
for(i=0;i<7;i++)
{
printf("%s\n",asd[i]);
}
}
'void fre (char * asd)' -> 'void fre (char * asd [])' oder 'void fre (char ** asd)' – BLUEPIXY
... und du könntest die Anzahl der Namen übergeben Auch wird 'fre' dann eher wie 'main aussehen (int argc, char * argv [])' –
In 'main' haben Sie' char * names [7] ', ein Array von Zeigern auf char. Sie versuchen, dieses Array an die Funktion 'fre()' zu übergeben. Aber 'fre' ist so deklariert, dass es einen einzelnen Zeiger auf char akzeptiert. Es funktioniert also nicht. –