C Interview Questions
C Questions Page 1(New)
C Questions Page 2
C Questions Page 3C Problems
What is recursion? Differentiate between a for
loop and a while loop? What are it uses? What are the different
storage classes in C? Write down the equivalent
pointer expression for referring the same element a[i][j][k][l]? What is difference between
Structure and Unions? What the advantages of using
Unions? What are the advantages of
using pointers in a program? What is the difference
between Strings and Arrays? In a header file whether
functions are declared or defined? What is a far pointer? where
we use it? How will you declare an array
of three function pointers where each function receives two ints and
returns a float? What is a NULL Pointer?
Whether it is same as an uninitialized pointer? What is a NULL Macro? What is
the difference between a NULL Pointer and a NULL Macro? What does the error ‘Null
Pointer Assignment’ mean and what causes this error? What is near, far and huge
pointers? How many bytes are occupied by them? How would you obtain segment
and offset addresses from a far address of a memory location? Are the expressions arr and
*arr same for an array of integers? Does mentioning the array
name gives the base address in all the contexts? Explain one method to process
an entire string as one unit? What is the similarity
between a Structure, Union and
enumeration? Can a Structure contain a
Pointer to itself? How can we check whether the
contents of two structure variables are same or not? How are Structure passing and
returning implemented by the complier? How can we read/write
Structures from/to data files? What is the difference
between an enumeration and a set of pre-processor # defines? What do the ‘c’ and ‘v’ in
argc and argv stand for? Are the variables argc and
argv are local to main? What is the maximum combined
length of command line arguments including the space between adjacent
arguments? If we want that any wildcard
characters in the command line arguments should be appropriately expanded,
are we required to make any special provision? If yes, which? Does there exist any way to
make the command line arguments available to other functions without
passing them as arguments to the function? What are bit fields? What is
the use of bit fields in a Structure declaration? To which numbering system can
the binary number 1101100100111100 be easily converted to? Which bit wise operator is
suitable for checking whether a particular bit is on or off? Which bit wise operator is
suitable for turning off a particular bit in a number? Which bit wise operator is
suitable for putting on a particular bit in a number? Which bit wise operator is
suitable for checking whether a particular bit is on or off? Which one is equivalent to
multiplying by 2?
- What does static variable
- What is a pointer?
- What is a structure?
- What are the differences
between structures and arrays?
- In header files whether
functions are declared or defined?
- What are the differences
between malloc() and calloc()?
- Difference between pass by
reference and pass by value?
- What is stat
- What are macros? What are the
advantages and disadvantages?
- ic identifier?
- Where are the auto variables
- Where does global, static,
local, register variables, free memory and C Program instructions get
- Difference between arrays and
- What are enumerations?
- Describe about storage
allocation and scope of global, extern, static, local and register
- What are register variables?
What are the advantage of using register variables?
- What is the use of typedef?
- Can we specify variable field
width in a scanf() format string? If possible how?
- Out of fgets() and gets()
which function is safe to use and why?
- Difference between strdup and
Write a program to compare
two strings without using the strcmp() function. Write a program to
concatenate two strings. Write a program to
interchange 2 variables without using the third one. Write programs for String
Reversal. The same for Palindrome check. Write a program to find the
Factorial of a number. Write a program to generate
the Fibonacci Series? Write a program which employs
Recursion? Write a program which uses
command line arguments. Write a program which uses
functions like strcmp(), strcpy(), etc. What are the advantages of
using typedef in a program? How would you dynamically
allocate a one-dimensional and two-dimensional array of integers? How can you increase the size
of a dynamically allocated array? How can you increase the size
of a statically allocated array? When reallocating memory if
any other pointers point into the same piece of memory do you have to
readjust these other pointers or do they get readjusted automatically? Which function should be used
to free the memory allocated by calloc()? How much maximum can you
allocate in a single call to malloc()? Can you dynamically allocate
arrays in expanded memory? What is object file? How can
you access object file? Which header file should you
include if you are to develop a function which can accept variable number
of arguments? Can you write a function
similar to printf()? How can a called function
determine the number of arguments that have been passed to it? Can there be at least some
solution to determine the number of arguments passed to a variable
argument list function? How do you declare the
- Left shifting a number
- Left shifting an
unsigned int or char by 1?
What do the functions atoi(),
itoa() and gcvt() do? Does there exist any other
function which can be used to convert an integer or a float to a string? How would you use qsort()
function to sort an array of structures? How would you use qsort()
function to sort the name stored in an array of pointers to string? How would you use bsearch()
function to search a name stored in array of pointers to string? How would you use the
functions sin(), pow(), sqrt()? How would you use the
functions memcpy(), memset(), memmove()? How would you use the
functions fseek(), freed(), fwrite() and ftell()? How would you obtain the
current time and difference between two times? How would you use the
functions randomize() and random()? How would you implement a
substr() function that extracts a sub string from a given string? What is the difference
between the functions rand(), random(), srand() and randomize()? What is the difference
between the functions memmove() and memcpy()? How do you print a string on
the printer? Can you use the function
fprintf() to display the output on the screen? Gautam Pagedar adds
this question: What is a linklist and why do we use it when we have
arrays? - I feel the correct answer should be linklist is used in cases
where you don’t know the memory required to store a data structure and
need to allocate is dynamically on demand. How do you detect a loop in
linked list? Sunil asks: What is
the difference between main() in C and main() in C++? ajz at his interviews
asks what will be printed out when the following code is executed:
- An array of three
pointers to chars
- An array of three char
- A pointer to array of
- A pointer to function
which receives an int pointer and returns a float pointer
- A pointer to a
function which receives nothing and returns nothing