Part a) A computer maintains memory alignment. At what addresses can we store a byte variable? What about a 16-bit variable?
Part b) A computer maintains memory alignment. Show how the variables below are stored in the memory if they have to be stored in the order they are declared (a, x, b, y, c), starting at address 100. Show the value at each address (including empty spots).
unsigned char a; // 8-bit variable
short int x; // 16-bit variable
unsigned char b;
short int y;
unsigned char c;
Part c) Repeat the question above knowing that the memory should be aligned but the variables can be stored in any order.