Οδηγός Μελέτης - Εισαγωγή στον Προγραμματισμό

Α19.6 · Padding: η σειρά των πεδίων μετράει

Διάλεξη 19, διαφάνειες 25–27 · Δυσκολία ★★☆ · trace · Κεφάλαια: 19

Τι θα τυπώσει αυτό το πρόγραμμα (μεταγλώττιση με gcc -m32 -o struct3 struct3.c);

#include <stdio.h>
int main() {
  struct pixel_tag {
     char red; int alpha;
     char green; int beta;
     char blue; int gamma;
  } pixel;
  printf("%zu\n", sizeof(pixel));
  return 0;
}

Υπόδειξη

Ζωγραφίστε τη δομή byte-byte με τη σειρά της δήλωσης και βάλτε κάθε int σε διεύθυνση πολλαπλάσιο του 4. Πόσα από τα bytes χρησιμοποιούνται στην πραγματικότητα;

Αριθμός στον οδηγό: Α19.6 (στο κεφάλαιο) · Μόνιμο αναγνωριστικό: slides-lec19-padding-interleaved · Σύνδεσμος: https://progintro.github.io/study/questions/slides/slides-lec19-padding-interleaved.html · Markdown (GitHub)