Find out the address of a static variable in a function : Static « Data Type « C / ANSI-C






Find out the address of a static variable in a function

Find out the address of a static variable in a function
#include <stdio.h>

int myFunction(int n);

long  old=0;
long  current=0;

int main() {
   int k = 4,i;
   long diff;

   i =myFunction(k);

   printf("i = %d\n",i);
   diff = old - current;
   printf("stack overheads are %16lu\n",diff);
}

int myFunction(int n) {
    int j;
    static int staticVariable=0;

    if(staticVariable==0){
        old =(long) &j;
    }
    if(staticVariable==1){
        current =(long) &j;
    }
    staticVariable++;
    printf("the address of j and staticVariable is %16lu %16lu\n",&j,&staticVariable);

    if(n<=0){
        return(1);
    }else{
        return(n*myFunction(n-1));
    }
}


           
       








Related examples in the same category

1.Demonstrate the use for permanent and temporary storage
2.Static versus automatic variables
3.Define static variable inside function
4.Define and use static variable