#include // Assuming this is aligned itself on a 4 byte boundary struct pizza_t { char size[10]; //offset int price_cents; //offset }; struct pizza_t pizza_options[3] = { {"small", 300}, {"medium", 550}, {"large", 800} }; void print_pizza_t(struct pizza_t *pizza); void increase_price(struct pizza_t *pizza, int increase_cents); int main(void) { printf("The available pizza options are:\n"); int i = 0; main_loop: if ( i >= 3 ) goto main_loop_end; struct pizza_t *pizza_ptr = &pizza_options[i]; increase_price(pizza_ptr, 100); print_pizza_t(pizza_ptr); i = i + 1; goto main_loop; main_loop_end: return 0; } void print_pizza_t(struct pizza_t *pizza) { printf("Size: "); printf("%s", pizza->size); printf(", price: "); printf("%d",pizza->price_cents); printf(" cents\n"); } void increase_price(struct pizza_t *pizza, int increase_cents) { pizza->price_cents = pizza->price_cents + increase_cents; }