Skip to main content

C Programming Interview Questions With Answers - Part V.


31. Distinguish Between Automatic & Static Variables?

Answer: Differences between automatic & static variables are:
  • Automatic variables are declared inside a function in which they are to be utilized, that’s why referred as local or internal variables whereas Static variables may be declared internally or externally.

A variable declared inside a function without storage class specification by default is an automatic variable. However, we may use the keyword auto to declare it explicitly.
main()
{
auto int age;
}

whereas keyword static is used to declare a static variable.
Static int age;

  • Default initial value for an automatic variable is Garbage value whereas static variables have zero as default initial value.
  • Automatic variables are created when the function is called and destroyed on exit from the function whereas in case of internal static variable, the scope is local to the function in which defined while scope of external static variable is to all the functions defined in the program.
  • Value of automatic variable lasts till the control remains within the block in which defined whereas value of static variable persists between different function calls.


32. Differentiate Between Global/External & Local Variables?

Answer:  Differences between global/external & local variable are:
  • Global variables are declared outside of all functions or before main whereas Local variables are declared inside a function where it is to be used.
  • Global variables can be used in all the functions in the program whereas Local variables are not known to other function in the program. It is limited to a single function only.
  • Global variables need not be declared in other functions whereas Local variables are visible and meaningful inside the functions in which they are declared.

For example:

#include <stdio.h>
int m;
void main( )
{
int i;
…..
…..
Fun1();
}
Fun1( )
{
int j;
….
…..
}
Here m is a global variable, i is local variable local to main () and j is local variable local to Fun1().



33. What Do You Understand By Scope, Lifetime & Visibility Of The Variables?

Answer: The scope of a variable determines the region of the program in which it is known. An identifier's "visibility" determines the portions of the program in which it can be referenced—its "scope." An identifier is visible only in portions of a program encompassed by its "scope," which may be limited to the file, function or block in which it appears.

File Scope: The variables and functions with file scope appear outside any block or list of parameters and is accessible from any place in the translation unit after its declaration. Identifier names with file scope are often called "global" or "external." The scope of a global identifier begins at the point of its definition or declaration and terminates at the end of the translation unit. A function has file scope.

Function Scope: A label is the only kind of identifier that has function scope. A label is declared implicitly by its use in a statement. Label names must be unique within a function however a label having the same name in two different functions is allowed.

Block Scope: The variables with block scope appear inside a block or within the list of formal parameter declarations in a function definition. It is visible only from the point of its declaration or definition to the end of the block containing its declaration or definition.


34. What Is Meant By Identifiers? How Do Identifiers Differ From Keywords?

Answer: Each C word can be classified as either a keyword or an identifier. Identifiers refer to the names of variables, functions and arrays. These are user-defined names and consist of a sequence of letters and digits, with a letter as a first character. Both uppercase and lowercase can be used to form identifiers.

Maximum length of an identifier is 8 characters. Some compiler allows length upto 40 characters. Comma and blanks are not allowed. No special symbol except underscore is allowed in identifiers name.

All keywords have fixed meanings and these cannot be changed. Keywords are the basic building blocks for program statement. The keywords also known as reserved words cannot be used as variable names. There are 32 keywords available in C.


35. How Can Register Access Be Made Faster Than Memory Access?

Answer: A register access is much faster than a memory access, keeping the frequently accessed variables in the register will lead to faster execution of programs.


36. What Is The Use Of Enumerated Data Types In C?

Answer: The enumerated data types give an opportunity to invent our own data type and define
what value the variable of this data type can take.



Check Out Other Questions:

26) Out of the functions fgets() and gets(), which one is safer to use and why?
27) What is the difference between the functions strdup() and strcpy()?
28) What is recursive function?
29) What is the difference between defining and declaring a variable?
30) What is a constant variable?


31) What is a far pointer in C?
32) What are the uses of the void data type?
33) What is a pointer in C?
34) What are the advantages of using pointers?
35) What are the differences between malloc() and calloc()?


...Return To C Questions INDEX.
...Return To C Programming INDEX.

... Return To HR Interview Index

Comments

Popular posts from this blog

Tell Me Something About Yourself - Interview Answers.

Try to introduce some of your most important employment-oriented skills as well as your education and accomplishments to the interviewer. Answer to this question is very important because it positions you for the rest of the interview . That's why this statement is often called the "Positioning Statement". One should take the opportunity to show his/her communication skills by speaking clearly and concisely in an organized manner. Since there is no right or wrong answer for this question hence it is important to appear friendly. YOUR ANSWERS CAN BE: 1) I am a person with strong interpersonal skills and have the ability to get along well with people . I enjoy challenges and looking for creative solutions to problems. 2) Besides the details given in my resume, I believe in character values, vision and action. I am quick in learning from mistakes. I am confident that the various tests that you have conducted will corroborate my competencies apti...

What Is (Are) Your Weakness (Weaknesses)? - Interview Answers

There’s a saying – “However small the thorn maybe it has the ability to pierce.” Never say you are a Workaholic, a Perfectionist, etc. because it sounds negative. Try to convert these negative biased qualities into positive ones. For Example, In   place of Workaholic you can say you are a hard worker and always willing to work for extra hours. In place of Perfectionist , you can say you are detail oriented and like to set high standard for work. “Try to specify your weakness as your strength and also highlight it as a benefit.” Your answers can be: 1) One of my weaknesses as I perceive is occasional compromise on time for quality and perfection. 2) I feel I am not very detail-oriented . I’m a person that wants accomplish as much as possible. I realized this hurts quality and therefore I‘m trying hard to find a balance between quality and quantity. 3) At times even when I need help, I try to solve my own problems instead of asking a co-worker who might know...

What Is (Are) Your Strengths? - Interview Answers

This is a simple and popular interview question. Generally people answer it in two ways. There are people who simply state their strength like “I am Young, Dynamic, Intelligent, Smart and so on…”. Such answer is neither right nor wrong but does not help u in any way also. Secondly there are peoples who state their strengths and explain them how he can use his strength for the job and industry. Do not simply state your strength. Everyone has some strength, all you need is to convert them into benefits. In short, try to advertise yourself by converting your features into strengths. “EVERYONE CLAIM THEY ARE HONEST, HARDWORKING, SMART AND SO ON….. BUT WITH AN EXAMPLE IT IS MUCH MORE BELIEVABLE.” Your answers can be : 1) I am a hard worker and because of this ability I can work for additional hours to accomplish my tasks.I am commitment oriented and hence I always enjoy the trust and confidence of my team mates which enables me to perform my duties very easily. 2) I am a...