Tuesday, 11 September 2012

C Interview Questions


1. What does static variable mean?
Ans: Static variables are the variables which retain their values between the function calls. They are initialized only once their scope is within the function in which they are defined.

2. What is a pointer?
Ans: Pointers are variables which stores the address of another variable. That variable may be a scalar (including another pointer), or an aggregate (array or structure). The pointed-to object may be part of a larger object, such as a field of a structure or an element in an array.


3. What are the uses of a pointer?
Ans: Pointer is used in the following cases
i) It is used to access array elements
ii) It is used for dynamic memory allocation.
iii) It is used in Call by reference
iv) It is used in data structures like trees, graph, linked list etc.


4. What is a structure?
Ans: Structure constitutes a super data type which represents several different data types in a single unit. A structure can be initialized if it is static or global.


5. What is a union?
Ans: Union is a collection of heterogeneous data type but it uses efficient memory utilization technique by allocating enough memory to hold the largest member. Here a single area of memory contains values of different types at different time. A union can never be initialized.


6. What are the differences between structures and union?
Ans: Structure: A structure variable contains each of the named members, and its size is large enough to hold all the members. Structure elements are of same size.
Union: A union contains one of the named members at a given time and is large enough to hold the largest member. Union element can be of different sizes.


7. What are the differences between structures and arrays?
Ans: Structure is a collection of heterogeneous data type but array is a collection of homogeneous data types.
Array
1-It is a collection of data items of same data type.
2-It has declaration only
3-.There is no keyword.
4- array name represent the address of the starting element.
Structure
1-It is a collection of data items of different data type.
2- It has declaration and definition
3- keyword struct is used
4-Structure name is known as tag it is the short hand notation of the declaration.


8. In header files whether functions are declared or defined?
Ans: Functions are declared within header file. That is function prototypes exist in a header file,not function bodies. They are defined in library (lib).


9. What are the differences between malloc () and calloc ()?
Ans:1. Malloc takes one argument Malloc(a); where a number of bytes 2-memory allocated contains garbage values
2. Calloc takes two arguments Calloc(b,c) where b no of object and c size of object
3. It initializes the contains of block of memory to zerosMalloc takes one argument, memory allocated contains garbage values.
4. It allocates contiguous memory locations. Calloc takes two arguments, memory allocated contains all zeros, and the memory allocated is not contiguous.


10. What are macros? What are its advantages and disadvantages?
Ans: Macros are abbreviations for lengthy and frequently used statements. When a macro is called the entire code is substituted by a single line though the macro definition is of several lines.
Advantage: The advantage of macro is that it reduces the time taken for control transfer as in case of
function.
Disadvantage: The disadvantage of it is here the entire code is substituted so the program becomes
lengthy if a macro is called several times.

No comments:

Post a Comment