C Interview Questions with Answers

C Tutorial

 C INTERVIEW QUESTIONS & ANSWERS

Below is a complete, end-to-end C Interview Questions with Answers guide — from basic → intermediate → advanced → system-level → tricky MCQs & coding.


✅ 1. C BASICS

Q1. What is C?

Answer:
C is a procedural, structured, compiled, middle-level programming language developed by Dennis Ritchie (1972) at Bell Labs.


Q2. Why is C called a middle-level language?

Answer:
Because it supports:

  • Low-level features (pointers, memory access)

  • High-level features (functions, loops, structures)


Q3. Features of C

  • Portable

  • Fast execution

  • Rich library

  • Pointer support

  • Structured programming

  • Modular code


Q4. Difference between Compiler and Interpreter

Compiler Interpreter
Translates entire program Translates line by line
Faster execution Slower
Errors shown after compile Errors shown immediately

Q5. Structure of a C Program


 


✅ 2. DATA TYPES & VARIABLES

Q6. Data types in C

  • Primary: int, float, char, double

  • Derived: array, pointer, structure

  • User-defined: struct, union, enum, typedef

  • Void


Q7. Size of data types (typical 64-bit)

Type Size
char 1 byte
int 4 bytes
float 4 bytes
double 8 bytes

Q8. What is a variable?

Answer:
A named memory location used to store data.


Q9. Difference between local & global variables

Local Global
Declared inside function Declared outside
Scope limited Accessible everywhere
Stored in stack Stored in data segment

✅ 3. OPERATORS

Q10. Types of operators

  • Arithmetic

  • Relational

  • Logical

  • Bitwise

  • Assignment

  • Conditional (?:)

  • Increment / Decrement


Q11. Difference between = and ==

  • = → assignment

  • == → comparison


Q12. What is operator precedence?

Answer:
It defines the order in which operators are evaluated.

Example:

int x = 5 + 2 * 3; // x = 11

✅ 4. CONTROL STATEMENTS

Q13. Conditional statements

  • if

  • if-else

  • else-if ladder

  • switch


Q14. Difference between if-else and switch

if-else switch
Complex conditions Constant expressions only
Slower Faster
Flexible Cleaner

Q15. Loop types

  • for

  • while

  • do-while


Q16. Difference between while & do-while

  • while → condition checked first

  • do-while → runs at least once


✅ 5. FUNCTIONS

Q17. What is a function?

Answer:
A block of code that performs a specific task.


Q18. Types of functions

  • Library functions

  • User-defined functions


Q19. Call by value vs Call by reference

Call by Value Call by Reference
Copy passed Address passed
No change Original changes

Q20. What is recursion?

Answer:
Function calling itself.

int fact(int n){
if(n==0) return 1;
return n*fact(n-1);
}

✅ 6. ARRAYS & STRINGS

Q21. What is an array?

Answer:
Collection of similar data stored in contiguous memory.


Q22. Difference between array and pointer

Array Pointer
Fixed size Dynamic
Name constant Can change
Stores values Stores address

Q23. What is a string?

Answer:
Array of characters terminated by \0.


Q24. Difference between gets() and fgets()

  • gets() → unsafe (removed)

  • fgets() → safe


✅ 7. POINTERS (VERY IMPORTANT)

Q25. What is a pointer?

Answer:
A variable that stores the address of another variable.


Q26. Pointer syntax

int a = 10;
int *p = &a;

Q27. Types of pointers

  • Null pointer

  • Dangling pointer

  • Wild pointer

  • Void pointer

  • Function pointer


Q28. What is a NULL pointer?

Answer:
Pointer that points to nothing.


Q29. Difference between * and &

  • * → value at address

  • & → address of variable


✅ 8. STRUCTURE & UNION

Q30. Structure

struct Student {
int id;
float marks;
};

Q31. Structure vs Union

Structure Union
Separate memory Shared memory
More memory Less memory
Faster access Slower

Q32. typedef

Answer:
Creates alias for data types.

typedef int myint;

✅ 9. MEMORY MANAGEMENT

Q33. Memory areas in C

  • Stack

  • Heap

  • Data segment

  • Code segment


Q34. malloc vs calloc

malloc calloc
Garbage values Initializes to zero
Faster Slightly slower

Q35. free()

Answer:
Releases dynamically allocated memory.


✅ 10. FILE HANDLING

Q36. File modes

  • r, w, a

  • r+, w+, a+


Q37. fopen()

FILE *fp = fopen("file.txt","r");

Q38. fclose()

Closes file and frees resources.


✅ 11. PREPROCESSOR

Q39. Preprocessor directives

  • #include

  • #define

  • #undef

  • #ifdef

  • #ifndef


Q40. Macro vs Function

Macro Function
Faster Slower
No type checking Type safe
More memory Less memory

✅ 12. STORAGE CLASSES

Q41. Types

  • auto

  • static

  • extern

  • register


Q42. static keyword

  • Retains value

  • Local scope, global lifetime


✅ 13. ADVANCED / TRICKY QUESTIONS

Q43. What is volatile?

Answer:
Tells compiler variable can change anytime.


Q44. What is segmentation fault?

Answer:
Illegal memory access.


Q45. What is dangling pointer?

Answer:
Pointer pointing to freed memory.


Q46. What is sizeof?

Answer:
Compile-time operator.


Q47. Why main returns int?

Answer:
To indicate program execution status.


✅ 14. COMMON CODING QUESTIONS

Reverse a number

int rev=0;
while(n){
rev = rev*10 + n%10;
n/=10;
}

Palindrome

if(original == rev)
printf("Palindrome");

Fibonacci



Swap without third variable


✅ 15. INTERVIEW TIPS

✔ Always explain memory
✔ Draw diagrams for pointers
✔ Mention time & space complexity
✔ Write clean code
✔ Handle edge cases

You may also like...