Mega Code Archive

 
Categories / C / Data Type
 

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));     } }