how can we use static and extern?and where can we use this?
Answer Posted / pramod
static storage class is used for the following situations
1) the variable is defined as static within a function and
we can call the function several times, but we want that the
function should initialize the variable only once that is
during the first call to that function.So the variable will
stay alive in different calls to this function
2)In C++ , if we want a common variable between all the
objects( like a counter for how many objects have been
created) then static is allocated as it is not attached to
any object but class
extern storage is for global variables
1)if we want one varibale to be available to all the
functions in our program, make the varibale as global
variable( extern storage), it will be accessed by all the
functions in that file.But avoid declaring variable as
global for security reasons( can be accessed from any other
file in the PATH) and memory reasons (global variables are
deallocated only when the entire program terminates).
2)if we declare a variable in a file as extern , then
compiler will assume that this variable is not defined in
the present file but in some other file.So while compiling
there won't bw any error but error will come at the linking
if the extern variable is not present in the refernced files.
There is one special case
static global variable
we want a variable to be global , means accessible to all
the functions in that file and want that the variable should
not be accessible to any other file, just to make it static
global variable.So the visibility of that variable becomes
file specific only.
| Is This Answer Correct ? | 3 Yes | 1 No |
Post New Answer View All Answers
Is swift based on c?
What standard functions are available to manipulate strings?
What is pointer and structure in c?
Is it better to bitshift a value than to multiply by 2?
What's the total generic pointer type?
can we implement multi-threads in c.
When can you use a pointer with a function?
How to delete a node from linked list w/o using collectons?
what is the basis for selection of arrays or pointers as data structure in a program
What are the various types of control structures in programming?
What are the 4 data types?
Why does everyone say not to use gets?
How can I change their mode to binary?
Tell us the use of fflush() function in c language?
Badboy is defined who has ALL the following properties: Does not have a girlfriend and is not married. He is not more than 23 years old. The middle name should be "Singh" The last name should have more than 4 characters. The character 'a' should appear in the last name at least two times. The name of one of his brothers should be "Ram" Write a method: boolean isBadBoy(boolean hasGirlFriend , boolean isMarried, int age , String middleName , String lastName , String[] brotherName); isHaveGirlFriend is true if the person has a girlfriend isMarried is true if the person is married age is the age of the person middleName is the middle name of the person lastName is the last name of the person brotherName is the array of the names of his brothers