/** * staticInC.c * Ying Li * 02/23/2020 */ #include #include void foo () { static int si = 10; // scope is function-level int local = 4; int *ci = (int *)malloc( sizeof(int) ); si += 10; local += 10; *ci = 4; printf( "si = %d, local=%d, ci=%d\n", si, local, *ci ); printf( "si is at %p, local is at %p\n", &si, &local ); printf("ci is at %p, ci points to %p, si is at %p\n", &ci, ci, &si ); } int main () { int i = 0; // printf( "%d", si ); // not legal! for (i = 0; i < 10; i++) foo(); return 0; }