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 ?
Answers were Sorted based on User's Feedback
Answer / lakshman
using function pointer in main.c which holds address of
static function in the same file. But function pointer can
be used in other files.
| Is This Answer Correct ? | 26 Yes | 5 No |
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 |
What is meant by initialization and how we initialize a variable?
How do I get a null pointer in my programs?
How do we print only part of a string in c?
What are the data types present in c?
what is the difference between malloc() and calloc() function?
Why doesnt that code work?
What is a example of a variable?
how to write a c program to print list of fruits in alpabetical order?
Write a program to print fibonacci series without using recursion?
what is the output of the program and explain why?? #include<stdio.h> void main ( ) { int k=4,j=0: switch (k) { case 3; j=300; case 4: j=400: case 5: j=500; } printf (ā%d\nā,j); }
what is different between auto and local static? why should we use local static?
Write a program in c to replace any vowel in a string with z?