Ich möchte eine struct
erstellen und enthält Int-und Char-Variablen. Hier ist mein Code:Definieren und verwenden Sie eine Zeichenkette in der Struktur
typedef struct {
uint16_t type;
uint16_t sn;
int data1;
int data2;
char crc[1024];
}packet_t;
Dann benutze ich eine Methode ein struct
zu erstellen:
packet_t packetCreate(uint16_t type,uint16_t sn, uint16_t data1,
uint16_t data2, char crc[1024])
{
packet_t packet;
packet.type = type;
packet.sn = sn;
packet.data1 = data1;
packet.data2 = data2;
packet.crc = crcr;
return packet;
}
auch ich die entsprechenden Variablen im Code definiert haben. Aber wenn ich den Code kompiliere, funktioniert es nicht und zeigt:
inkompatible Typen beim Zuweisen zum Typ 'char [1024]' vom Typ 'char *' in der Zeile: packet.crc = crcr; Wie soll ich die Struktur definieren und verwenden? Ich möchte die Struktur erstellen enthält eine Zeichenkette, so dass ich die CRC-Datenfolgen speichern können.
sollte die Linie 'packet.crc = crc;' statt 'packet.crc = CRCR;' – tom
See: http://stackoverflow.com/ a/16645642/817132 Oder K & R's C, Seite 97: http://www.ime.usp.br/~pf/Kernighan-Ritchie/C-Programming-Ebook.pdf – wally
Hinweis: C unterstützt _methods_ nicht. Nur _Funktionen_. – Olaf