Warum kann man in ein char - Feld auch Hexwerte schreiben?
Weil ein char auch nur ein Byte ist.
Egal ob du
schreibst, es passiert immer dasselbe dennCode:char a = 'a'; char a = 97; char a = 0x61; char a = 0b01100001;
Ascii-Wert von a = 97
HEX(97) = 61
BINÄR(97) = 01100001
Für den Rechner gibt es da keinen Unterschied, er sieht keine Buchstaben, nur Binärzahlen.
Array kopierst du einfach aneinander:
Es gibt auch Funktionen wie StrCpy die dasslebe machen. (Siehe array.h)Code:char a[] = {'a','b','c'}; char b[] = {'1','2','3'}; char c[]; c = a + b; // FALSCH!!!! a und b sind Pointer auf das erste Feldelement, a+b = irgendwo aber nicht da wo es sein soll for(uint8_t i=3; i>0; i--)c[i] = a[i]; //richtig!!! for(uint8_t i=3; i>0; i--)c[i+3] = b[i];
Oder du könntest einfach in Feld a etwas Platz lassen und da b hineinschreiben







Zitieren

Lesezeichen