(ALONG WITH ANSWERS)
C Interview Questions and Answers
What is C language?
The C programming language is a standardized programming
language developed in the early 1970s by Ken Thompson and
Dennis Ritchie for use on the UNIX operating system. It has since
spread to many other operating systems, and is one of the most
widely used programming languages. C is prized for its efficiency,
and is the most popular programming language for writing system
software, though it is also used for writing applications.
What is the output of printf("%d")?
1. When we write printf("%d",x); this means compiler will print
the value of x.But as here, there is nothing after %d so compiler
will show in output window garbage value.
2. When we use %d the compiler internally uses it to access the
in the stack (argument stack).Ideally compiler
determines the offset of the data variable depending on the
format specification string.Now when we write printf("%d",a)
then compiler first accesses the top most element in the
argument stack of the printf which is %d and depending on the
format string it calculated to offset to the actual data variable in
the memory which is to be printed.Now when only %d will be
present in the printf then compiler will calculate the correct offset
(which will be the offset to access the integer variable) but as
the actual data object is to be printed is not present at that
memory location so it will print what ever will be the contents of
that memory location.
3. Some compilers check the format string and will generate an
error without the proper number and type of arguments for
things like printf(...) and scanf(...).
What is the difference between "calloc(...)" and
1.calloc(..) allocates a block of memory for an array of elements
of a certain size. By default the block is initialized to 0.The total
number of memory allocated will be (number_of_elements *
size). malloc(...) takes in onl