but how can i use extern..if i simply declare a variable in file1 as int j and try to use in file2 with extern then it shows that j nit defined..how cum file2 knows in which file j is defined....for e.g if i use extern in file it means that this variable/fxn is defined somewhr else.then what are those files in which it searches this variable definition..i m getting error....plese give me 2 files in which one files defines variable and other uses using extern.....its not working for me....
On Thu, Nov 15, 2012 at 12:08 PM, Rahul Kumar Dubey <[email protected]>wrote: > @rahul it will compile perfectly well . note that you have declared j in > file 1 as extern and used it and have not provided its definition any where > so getting compile error. > as far as functions are concerned they are external by defaullt as > specified by @shobhit > > i am attaching your corrected code which runs fine ... > file1.c > > > #include<stdio.h> > extern int i; > //extern int j; // provide a declaration for this > void next(void); > > int main() > { > ++i; > printf("%d\n",i); > > next(); > getchar(); > } > int i=3; > void next() > { > ++i; > printf("%d\n",i); > //printf("%d",j); // since no defintion provided so getting error > other(); > } > > file2.c > > > extern int i; > void other() > { > ++i; > printf("%d\n",i); > } > > if you want to use j u need to provide defintion either in file 1 or file 2 > output: > 4 > 5 > 6 > > > > > On Wed, Oct 24, 2012 at 10:56 PM, rahul sharma <[email protected]>wrote: > >> can nyone provide me dummy code of how exactly to use extern in c.. >> in dev environment >> >> when i declare int i in one fyl >> and try use use with extern int i in another then it doesnt compile..plz >> coment >> >> >> On Wed, Oct 24, 2012 at 9:58 PM, rahul sharma <[email protected]>wrote: >> >>> Then why its not running? >>> >>> >>> On Wed, Oct 24, 2012 at 6:50 PM, SHOBHIT GUPTA < >>> [email protected]> wrote: >>> >>>> http://www.geeksforgeeks.org/archives/840 >>>> >>>> By default, the declaration and definition of a C function have >>>> “extern” prepended with them. It means even though we don’t use extern with >>>> the declaration/definition of C functions, it is present there. For >>>> example, when we write. >>>> >>>> int foo(int arg1, char arg2); >>>> >>>> There’s an extern present in the beginning which is hidden and the >>>> compiler treats it as below. >>>> >>>> extern int foo(int arg1, char arg2); >>>> >>>> >>>> On Wed, Oct 24, 2012 at 4:40 PM, rahul sharma <[email protected] >>>> > wrote: >>>> >>>>> Pleaase reply with sol as asp >>>>> >>>>> Fille 1: >>>>> #include<stdio.h> >>>>> extern int i; >>>>> >>>>> extern int j; >>>>> void next(void); >>>>> int main() >>>>> { >>>>> ++i; >>>>> printf("%d",i); >>>>> next(); >>>>> getchar(); >>>>> } >>>>> int i=3; >>>>> void next() >>>>> { >>>>> ++i; >>>>> printf("%d",i); >>>>> printf("%d",j); >>>>> other(); >>>>> } >>>>> File 2: >>>>> extern int i; >>>>> >>>>> void other() >>>>> { >>>>> ++i; >>>>> printf("%d",i)' >>>>> } >>>>> >>>>> How cum file 1 knows what is other();as we havnet define with >>>>> extern void other(); >>>>> it should be error???? >>>>> but when i include the statemetn extern void other,then also it shows?? >>>>> pls provide me o/p of this questiona nd also tell how use use variable >>>>> of one file in other as simply writing extern in a is not accesing global >>>>> a >>>>> of other file.... >>>>> >>>>> -- >>>>> 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. >> > > > > -- > *RAHUL KUMAR DUBEY* > *BTech-3rd year * > *Computer Science &Engineering * > *Motilal Nehru National Institute Of Technology* > *Allahabad[211004],UP.* > > -- > 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.
