@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.