/* x, y, z, d, e are data variables, because they are static. Compare to stack1.c and stack2.c. */ #include void one(void) { static int x = 1; static int y = 2; static int z = 3; printf("x is %d; &x is %u\n",x,(unsigned int) &x); printf("y is %d; &y is %u\n",y,(unsigned int) &y); printf("z is %d; &z is %u\n",z,(unsigned int) &z); x += 10; y += 10; z += 10; } void two(void) { static double d = 4; static int e = 5; printf("d is %.0f; &d is %u\n",d,(unsigned int) &d); printf("e is %d; &e is %u\n",e,(unsigned int) &e); d += 10; e += 10; } int main(void) { one(); two(); one(); two(); return 0; }