Ihre Erklärung
char *first_name[][BUFSIZE];
deklariert einen 2-dimensionalen Array von Zeigern. Wenn Sie ein Array von Zeichenfolgen möchten, sollte es sein:
char first_name[][BUFSIZE];
Allerdings fehlt die Größe der ersten Dimension. Das Weglassen der Größe ist nur in Funktionsargumentdeklarationen erlaubt, da es eigentlich eine Abkürzung für die Deklaration eines Zeigers ist (da ein Array an eine Funktion übergeben wird) oder an die Deklaration eines flexiblen Array-Elements (das das letzte Mitglied von sein muss) a struct
, also können Sie nicht zwei von ihnen in der gleichen Struktur haben). Ich nehme an, dass Ihre Variablen tatsächlich Funktionsparameter sind.
Sie nicht Zuordnung verwenden können in einem String in C zu füllen, Sie strcpy()
verwenden:
strcpy(first_name[i], "John");
Informieren Sie sich über 'strcpy' und auch müssen Sie vielleicht' char first_name [BUFFSIZE]; ' –