C-struct-Initialisierung mit char-array

Ich habe ein C struct wie folgt definiert:

struct Guest {
   int age;
   char name[20];
};

Als ich ein Guest variable und initialisiert Sie mit dem folgenden:

int guest_age = 30;
char guest_name[20] = "Mike";
struct Guest mike = {guest_age, guest_name};

Bekam ich die Fehlermeldung über den zweiten parameter Initialisierung der sagt mir, dass guest_name kann nicht verwendet werden, zu initialisieren Membervariablen char name[20].

Konnte ich diesen initialisieren alle:

struct Guest mike = {guest_age, "Mike"};

Aber das ist nicht was ich will. Ich will die Initialisierung aller Felder von Variablen. Wie dies in C?

  • Sie können nicht kopieren von arrays. Verwenden std::string.
  • Ich weiß, dass ich verwenden können std::string. Aber was ist, wenn ich will-stick mit C-style char-arrays?
  • Sie sagte, C oder C++. Jetzt sagen Sie, C.
  • Ich sollte klarstellen. Ich möchte es in C char-array. Bearbeitet haben, meine Frage. Ist es möglich?
InformationsquelleAutor tonga | 2013-09-23
Schreibe einen Kommentar