Fassen wir mal zusammen, daß man C nicht mögen muss, und es gibt durchaus Einiges was man (aus heutiger Sicht) hätte besser machen können...
aber wenn man sich ernsthaft damit auseinandersetzt (bzw. beruflich auseinandersetzen muss), wird man früher oder später auch die Vorteile der Sprache erkennen.
Sich Merkzettel zu schreiben ist für Einsteiger sicherlich sinnvoll, und ich finde es ein bischen schade daß das hier in der Diskussion ein bischen untergegangen ist. Ich hätte auch gleich einen Korrekturvorschlag zu dem geposteten "void casting Infoblatt", denn das ist nicht 100% fehlerfrei:
Diese beiden Zeilen sind nicht äquivalent:
Zunächst mal ist der Typ von TestData ohnehin schon "unsigned char*", denn TestData ist ein Pointer auf das erste Element des Arrays. Der Typecast in der ersten Zeile ist also unnötig. Die zweite Zeile liefert die Adresse von TestData, also die Adresse des Pointers auf das erste Element des Arrays, &TestData hat also den Typ "unsigned char**". Das kann auch durchaus gewünscht sein, aber in 99% der Fälle ist die erste Zeile die richtige.Code:n = (unsigned char*) Testdata; n = &Testdata;
Lesezeichen