Ignore last to last mail. Sorry. Do show expanded content in last mail.
On 16 Nov 2012 23:49, "Neeraj Gangwar" <y.neeraj2...@gmail.com> wrote:

> Yes, it would be like copying the code in the other file. You have to find
> a way to do it in Dev-C++.
> In linux it's simple. Just use *gcc file1.c file2.c *in terminal (as told
> earlier).
>
> If you are still confused, Think it this way
> If you are compiling only one file in which you have declared variable as
> intern, where would compiler find its actual definition because you are *not
> compiling *the second file.
>
> *file1.c : file in which variable is defined*
> *file2.c : file in which variable is declared as extern*
> *
> *
> When you compile both the files together, as compiler sees *extern 
> *declaration,
> it will check if you have defined that variable somewhere. It will only
> check files that are being compiled*. So if you are not compiling *file1.c
> *it will not check that file. That's why you have to compile both the
> files together.
>
> In simple words, what extern does is that it checks if you have defined
> that variable somewhere* in the code that is *being compiled. *
>
> Try following codes
> *//start of code*
> *#include<stdio.h>*
> *main() {*
>
> *extern int i;*
> *printf("i = %d", i);*
> *return 0;*
>
> *}*
> *//end of code*
> It will show you an error that variable i has not been defined anywhere in
> the file.
> *
> *
> *//start of code*
> *#include<stdio.h>*
> *main() {*
>
> *extern int i;*
> *printf("i = %d", i);*
> *return 0;*
>
> *}*
> *
> *
> *int i = 7;*
> *// end of code*
> Try above code, it will run and show you the correct result. Your codes
> are doing precisely the same thing.
>
> *#include "file1.c"* or *#include "file2.c"* was based on the same idea.
>
> *scope rules apply.
>
> Some lines of *the* book The C Programming Language by Dennis Ritchie:
> There must be only one definition of an external variable among all the
> files *that make up the*
> *source program*; other files may contain extern declarations to access
> it. (There may also be
> extern declarations in the file containing the definition.) Array sizes
> must be specified with
> the definition, but are optional with an extern declaration.
>
>
> *Neeraj Gangwar*
> B.Tech. IV Year
> Electronics and Communication IDD
> Indian Institute of Technology Roorkee
> Contact No. : +91 9897073730
>
>
> On Fri, Nov 16, 2012 at 10:52 PM, rahul sharma <rahul23111...@gmail.com>wrote:
>
>> but with adding it willl copy aalll the code....we we dont need to
>> copy..if we declare int i in file 1...and include in file 2..then i can use
>> it in file 2 with its extern declaration...m i ryt?
>>
>>
>> On Fri, Nov 16, 2012 at 2:42 PM, Neeraj Gangwar 
>> <y.neeraj2...@gmail.com>wrote:
>>
>>> For Dev-C++, you have to include one file in another.
>>> So either add *#include "file1.c" *in file2.c and compile file2.c or
>>> add *#include "file2.c" *in file1.c and compile file1.c.
>>>
>>> Hope this helps.
>>>
>>>
>>> *Neeraj Gangwar*
>>> B.Tech. IV Year
>>> Electronics and Communication IDD
>>> Indian Institute of Technology Roorkee
>>> Contact No. : +91 9897073730
>>>
>>>
>>> On Fri, Nov 16, 2012 at 9:11 AM, Rahul Kumar Dubey <rkd7...@gmail.com>wrote:
>>>
>>>> @rahulsharma
>>>>  file1.c
>>>>
>>>> #include<stdio.h>
>>>> extern int i;// defintion provided in this file itself
>>>> extern int j; // definition provided in file2
>>>> void next()
>>>> {
>>>> ++i;
>>>> other();
>>>> }
>>>> int main()
>>>> {
>>>>     ++i;
>>>>     printf("%d\n",j);
>>>>     printf("%d\n",i);
>>>>    next();
>>>> }
>>>> int i=3;
>>>>
>>>> // end of file1.c
>>>>
>>>> file2.c
>>>> extern int i; // declaration of i as extern
>>>> int j=10; // j defined in file2 here which was declared as extern in
>>>> file 1
>>>>
>>>> void other()
>>>> {
>>>> ++i;
>>>> printf("%d\n",i);
>>>> }
>>>> // end of file2.c
>>>>
>>>> compile both file together
>>>> as
>>>> rahul@rahul:~gcc file1.c file2.c
>>>> rahul@rahul:~./a.out
>>>> you will get the required output
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Fri, Nov 16, 2012 at 8:27 AM, Neeraj Gangwar <y.neeraj2...@gmail.com
>>>> > wrote:
>>>>
>>>>> That's why you are getting the error. You have to compile both the
>>>>> files together. Search on google. I don't use dev c++.
>>>>>
>>>>> *Neeraj Gangwar*
>>>>> B.Tech. IV Year
>>>>> Electronics and Communication IDD
>>>>> Indian Institute of Technology Roorkee
>>>>> Contact No. : +91 9897073730
>>>>>
>>>>>
>>>>> On Thu, Nov 15, 2012 at 11:32 PM, rahul sharma <
>>>>> rahul23111...@gmail.com> wrote:
>>>>>
>>>>>>  No...individually...dev cpp..how to compile both together???
>>>>>>
>>>>>>
>>>>>> On Thu, Nov 15, 2012 at 9:26 PM, Neeraj Gangwar <
>>>>>> y.neeraj2...@gmail.com> wrote:
>>>>>>
>>>>>>> Which compiler are you using ? Are you compiling both the files
>>>>>>> together ?
>>>>>>>
>>>>>>> *Neeraj Gangwar*
>>>>>>> B.Tech. IV Year
>>>>>>> Electronics and Communication IDD
>>>>>>> Indian Institute of Technology Roorkee
>>>>>>> Contact No. : +91 9897073730
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Thu, Nov 15, 2012 at 9:10 PM, rahul sharma <
>>>>>>> rahul23111...@gmail.com> wrote:
>>>>>>>
>>>>>>>> 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 <
>>>>>>>> rkd7...@gmail.com> 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 <
>>>>>>>>> rahul23111...@gmail.com> 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 <
>>>>>>>>>> rahul23111...@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Then why its not running?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Wed, Oct 24, 2012 at 6:50 PM, SHOBHIT GUPTA <
>>>>>>>>>>> shobhitgupta1...@gmail.com> 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 <
>>>>>>>>>>>> rahul23111...@gmail.com> 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
>>>>>>>>>>>>> algogeeks@googlegroups.com.
>>>>>>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>>>>>>> algogeeks+unsubscr...@googlegroups.com.
>>>>>>>>>>>>> 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 algogeeks@googlegroups.com
>>>>>>>>>>>> .
>>>>>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>>>>>> algogeeks+unsubscr...@googlegroups.com.
>>>>>>>>>>>> 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 algogeeks@googlegroups.com.
>>>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>>>> algogeeks+unsubscr...@googlegroups.com.
>>>>>>>>>> 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 algogeeks@googlegroups.com.
>>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>>> algogeeks+unsubscr...@googlegroups.com.
>>>>>>>>> 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 algogeeks@googlegroups.com.
>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>> algogeeks+unsubscr...@googlegroups.com.
>>>>>>>> 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 algogeeks@googlegroups.com.
>>>>>>> To unsubscribe from this group, send email to
>>>>>>> algogeeks+unsubscr...@googlegroups.com.
>>>>>>> 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 algogeeks@googlegroups.com.
>>>>>> To unsubscribe from this group, send email to
>>>>>> algogeeks+unsubscr...@googlegroups.com.
>>>>>> 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 algogeeks@googlegroups.com.
>>>>> To unsubscribe from this group, send email to
>>>>> algogeeks+unsubscr...@googlegroups.com.
>>>>> 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 algogeeks@googlegroups.com.
>>>> To unsubscribe from this group, send email to
>>>> algogeeks+unsubscr...@googlegroups.com.
>>>> 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 algogeeks@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> algogeeks+unsubscr...@googlegroups.com.
>>> 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 algogeeks@googlegroups.com.
>> To unsubscribe from this group, send email to
>> algogeeks+unsubscr...@googlegroups.com.
>> 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 algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to