Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

C-Kurs/Bus Error/Musterlösung

< C-Kurs‎ | Bus Error
Version vom 6. September 2010, 14:55 Uhr von Mario (Diskussion | Beiträge) (Musterlösung)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Der Bus Error wurde bereits in der VL erwähnt. Hier ein Quellcodeauszug aus [1], der ihn erzeugt.

struct thing {
 int an_int;
};
struct header {
 short id;
 char data[0];
};
struct header * maker( int size ) {
 return (struct header *)malloc( sizeof( struct header ) + size );
}
int main( void ) {
 struct header * a_headered_thing = maker( sizeof( struct thing ) );
 struct thing * a_thing = (struct thing *)&(a_headered_thing->data[0]);
 a_thing->an_int  = 42;
}