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
What functions are in conio h?
How can you call a function, given its name as a string?
any function have arguments one or more OR not . it is compulsary a) any function compulsary have one or more arguments b) any function did not have arguments. It is not compulsary c) it is optional it is not compulsary d) none of the above
what are bit fields? What is the use of bit fields in a structure declaration?
Can you please explain the difference between syntax vs logical error?
What is define directive?
In cryptography, you could often break the algorithm if you know what was the original (plain) text that was encoded into the current ciphertext. This is called the plain text attack. In this simple problem, we illustrate the plain text attack on a simple substitution cipher encryption, where you know each letter has been substituted with a different letter from the alphabet but you don’t know what that letter is. You are given the cipherText as the input string to the function getwordSets(). You know that a plain text "AMMUNITION" occurs somewhere in this cipher text. Now, you have to find out which sets of characters corresponds to the encrypted form of the "AMMUNITION". You can assume that the encryption follows simple substitution only. [Hint: You could use the pattern in the "AMMUNITION" like MM occurring twice together to identify this]
develop algorithms to add polynomials (i) in one variable
write a program to print data of 5 five students with structures?
if (i = 0)printf ("True"); elseprintf("False"); Under what conditions will the above print out the string "True" a) Never b) Always c) When the value of i is 0 d) all of the above
An integer that indentifies the position of a data item in a sequence of data items a) value b) number c) index d) all of the above
What are qualifiers and modifiers c?
What is wrong in this statement?
What are header files in c programming?
Explain what is dynamic data structure?