if function is declared as static in one source file, if I
would like to use the same function in some other source
file...is it possible....how ?
Answer Posted / vadivel t
It is possible. follow the guidelines below.
1.create a .c file called mai.c. and Its content is,
#include<stdio.h>
#include "Header.h"
static func(void);
main()
{
func();
printf("\n");
func1();
getch();
}
static func(void)
{
printf("In static fucntion");
}
2.create another file called test.c. And its content is
#include "Header.h"
func1()
{
func();
}
func()
{
printf("In normal function \n");
}
3.have a .h file called Header.h and its content is,
func1();
func();
Now main.c has a function with static key word(ie., static
func()). And its prototype and definition is available in
the same file and the same function name without static is
exist in the test.c and its prototype is there in the
Header.h
When u run the program and control hits func() in main.c it
will call the static function in the same file.
When control hits next line ie., func1() it will call the
fuction func(), which is there in the test.c file(and also
there in main.c with static key word).
Now the output will be,
In static fucntion
In normal function
| Is This Answer Correct ? | 9 Yes | 41 No |
Post New Answer View All Answers
Why header files are used?
The file stdio.h, what does it contain?
How can I determine whether a machines byte order is big-endian or little-endian?
What header files do I need in order to define the standard library functions I use?
What does return 1 means in c?
What is difference between function overloading and operator overloading?
What is union and structure in c?
What is #include stdio h?
Why is #define used?
What is calloc in c?
Explain what are global variables and explain how do you declare them?
Process by which one bit pattern in to another by bit wise operation is?
Difference between Shallow copy and Deep copy?
What is the purpose of realloc()?
What will the code below print when it is executed? int x = 3, y = 4; if (x = 4) y = 5; else y = 2; printf ("x=%d, y=%d ",x,y);