i think guys are confuse between scope of variable and lifetime of variable. p scope is add function and lifetime of p is till the program run. so u can't access variable outside the scope of variable whatever is the lifetime of variable.
u can look at "peter ven den linden" Deep C secrets. best regards, On Tue, Feb 7, 2012 at 10:43 AM, Manni mbd <[email protected]> wrote: > i didn't got .. !! please explain some more.. > > On 2/7/12, sumit mahamuni <[email protected]> wrote: > > Hello, > > > > Here you are right about variable p in add function that it retains it's > > value even though function loses its scope. And for main function error > you > > are seeing has nothing to do with how that variable is stored? > > It is about the scope of that variable C compiler sees the scope of > static > > variable p limited to add function only, so other function can't use it. > > And remember error is at compile time not run time so it is related to > > compiler not memory. I hope it explains everything. > > > > On Tue, Feb 7, 2012 at 9:43 AM, atul anand <[email protected]> > wrote: > > > >> http://www.geeksforgeeks.org/archives/14268 > >> > >> > >> On Tue, Feb 7, 2012 at 1:06 AM, [email protected] > >> <[email protected]>wrote: > >> > >>> I think you are right about p being in BSS segment and it does last > even > >>> the function finishes, however, you may need a pointer to get the data > >>> out > >>> of p. Then you can read the data. > >>> > >>> Correct me if i am wrong > >>> > >>> > >>> On Mon, Feb 6, 2012 at 1:04 PM, Ravi Ranjan > >>> <[email protected]>wrote: > >>> > >>>> i have a confusion in it > >>>> > >>>> #include <stdio.h> > >>>> #include <stdlib.h> > >>>> > >>>> > >>>> void add(int,int); > >>>> > >>>> int main(int argc, char *argv[]) > >>>> { > >>>> > >>>> add(6,3); > >>>> printf("%d",p); > >>>> > >>>> system("PAUSE"); > >>>> return 0; > >>>> } > >>>> > >>>> > >>>> void add(int a, int b) > >>>> { > >>>> static int p; > >>>> p = a+ b; > >>>> } > >>>> > >>>> > >>>> here the memory layout says variable "p" is in BSS segment ... so its > an > >>>> independent region from stack frame..... when the function looses its > >>>> scope > >>>> from function defination(add) then still it should be alive... and can > >>>> be > >>>> recognized/used by other function(main).... but it gves an error of > >>>> unknown > >>>> variable "p"..... need the correct logic....... if i m wrong... > >>>> > >>>> thanx > >>>> ravi > >>>> > >>>> -- > >>>> You received this message because you are subscribed to the Google > >>>> Groups "Algorithm Geeks" group. > >>>> To post to this group, send email to [email protected]. > >>>> To unsubscribe from this group, send email to > >>>> [email protected]. > >>>> For more options, visit this group at > >>>> http://groups.google.com/group/algogeeks?hl=en. > >>>> > >>> > >>> -- > >>> You received this message because you are subscribed to the Google > Groups > >>> "Algorithm Geeks" group. > >>> To post to this group, send email to [email protected]. > >>> To unsubscribe from this group, send email to > >>> [email protected]. > >>> For more options, visit this group at > >>> http://groups.google.com/group/algogeeks?hl=en. > >>> > >> > >> -- > >> You received this message because you are subscribed to the Google > Groups > >> "Algorithm Geeks" group. > >> To post to this group, send email to [email protected]. > >> To unsubscribe from this group, send email to > >> [email protected]. > >> For more options, visit this group at > >> http://groups.google.com/group/algogeeks?hl=en. > >> > > > > > > > > -- > > Thanks and Regards, > > Sumit Mahamuni. > > > > -- Slow code that scales better can be faster than fast code that doesn't > > scale! > > -- Tough times never lasts, but tough people do. > > -- I love deadlines. I like the whooshing sound they make as they fly > by. - > > D. Adams > > > > -- > > You received this message because you are subscribed to the Google Groups > > "Algorithm Geeks" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]. > > For more options, visit this group at > > http://groups.google.com/group/algogeeks?hl=en. > > > > > > -- > You received this message because you are subscribed to the Google Groups > "Algorithm Geeks" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/algogeeks?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.
