Was ist Ausrichtung und Auffüllung (Alignment und Padding)?
Das Ablegen von Daten an Adressen, die ein Vielfaches einer typabhängigen Zahl sind (Alignment), und die dafür zwischen oder hinter den Daten eingefügten ungenutzten Bytes (Padding, Füllbytes). In einer Umgebung, in der int an 4-Byte-Grenzen ausgerichtet wird, folgen in struct { char c; int i; char d; } auf c 3 Byte und auf d 3 Byte, sodass die Größe 12 Byte beträgt. Zugriffe auf nicht ausgerichtete Adressen sind je nach CPU langsamer oder lösen eine Ausnahme aus. Ordnet man die Member vom größten Typ abwärts an, lässt sich das Padding verringern.
Japanische Bezeichnung: アライメントとパディング
„Ausrichtung und Auffüllung (Alignment und Padding)“ kommt in 2 Übungsfragen aus 2 Themen vor, z. B. Befehlssatz und Assembler, Grundlagen der Programmiersprache C.
Fachgebiet: Grundlagen der Programmiersprache C