Back to slide -- Keyboard shortcut: 'u'  previous -- Keyboard shortcut: 'p'  next -- Keyboard shortcut: 'n'          bit-field-ex.c - A program that illustrates a struct with bit fields.Lecture 1 - slide 22 : 34
Program 7

#include <stdio.h>

struct pixel {
  unsigned int red:   8;
  unsigned int green: 8;
  unsigned int blue:  8;
};

typedef struct pixel pixel;

pixel make_pixel(unsigned int red, unsigned int green, unsigned int blue){
  pixel p;
  p.red = red; p. green = green; p.blue = blue;
  return p;
}

unsigned int get_red(pixel p){
  return p.red;
}

unsigned int get_green(pixel p){
  return p.green;
}
unsigned int get_blue(pixel p){
  return p.blue;
}


int main(void) {

  pixel p;

  p = make_pixel(80, 90, 100);
  printf("Pixel info: red = %d, green = %d, blue = %d\n", 
          get_red(p), get_green(p), get_blue(p));

  printf("Size of a pixel pixel: %d bytes\n", sizeof(pixel));
  
  return 0;
}