✅ C & C++ Interview Question Bank (With Answers)
🔹 SECTION 1: C LANGUAGE (Core)
Q1. What is the difference between malloc() and calloc()?
Answer:
malloc calloc
Allocates memory Allocates & initializes to zero
Faster Slightly slower
Takes 1 argument Takes 2 arguments
⸻
Q2. What is a dangling pointer?
Answer:
A pointer that points to a memory location that has been freed or gone out of scope.
⸻
Q3. Difference between const int *p and int *const p?
Answer:
• const int *p → value cannot be changed
• int *const p → pointer cannot be changed
⸻
Q4. What is static keyword used for?
Answer:
• Preserves variable value between function calls
• Limits scope to file when used globally
• Shares value across objects in C++
⸻
Q5. What is volatile keyword?
Answer:
Tells compiler not to optimize variable since it can change externally (used in hardware registers, ISR).
⸻
Q6. What is segmentation fault?
Answer:
Accessing invalid or unauthorized memory location.
⸻
Q7. What is structure padding?
Answer:
Extra bytes added by compiler to align data for faster access.
⸻
Q8. What is difference between stack and heap?
Answer:
Stack Heap
Automatic allocation Manual allocation
Faster Slower
Limited size Larger size
⸻
🔹 SECTION 2: POINTERS (Very Important)
Q9. What is pointer to pointer?
Answer:
A pointer that stores address of another pointer.
⸻
Q10. What is NULL pointer?
Answer:
Pointer that points to nothing (NULL or 0x0).
⸻
Q11. What is function pointer?
Answer:
A pointer that points to a function’s address.
⸻
Q12. Difference between array and pointer?
Answer:
• Array name is constant
• Pointer can be reassigned
⸻
🔹 SECTION 3: C++ BASICS
Q13. What is OOP?
Answer:
Programming model based on Object, Class, Encapsulation, Inheritance, Polymorphism, Abstraction.
⸻
Q14. Difference between C and C++?
Answer:
• C → procedural
• C++ → object oriented
• C++ supports classes, inheritance, STL
⸻
Q15. What is constructor?
Answer:
Special function automatically called when object is created.
⸻
Q16. What is destructor?
Answer:
Function called automatically when object is destroyed.
⸻
Q17. Can constructor be private?
Answer:
Yes (used in Singleton pattern).
⸻
Q18. What is copy constructor?
Answer:
Initializes object using another object of same class.
⸻
Q19. What is virtual function?
Answer:
Function that supports runtime polymorphism using base class pointer.
⸻
Q20. What is virtual destructor?
Answer:
Ensures proper cleanup of derived class object.
⸻
🔹 SECTION 4: OOP CONCEPTS
Q21. What is encapsulation?
Answer:
Binding data and methods together and hiding internal details.
⸻
Q22. What is inheritance?
Answer:
Derived class inherits properties of base class.
⸻
Q23. What is polymorphism?
Answer:
Same function name behaving differently.
⸻
Q24. Difference between compile time and runtime polymorphism?
Answer:
• Compile time → function overloading
• Runtime → function overriding
⸻
Q25. What is abstraction?
Answer:
Showing only essential features, hiding implementation.
⸻
🔹 SECTION 5: ADVANCED C++
Q26. What is STL?
Answer:
Standard Template Library providing containers, algorithms, iterators.
⸻
Q27. Difference between vector and list?
Answer:
vector list
Contiguous memory Non-contiguous
Fast access Slow access
Slow insertion Fast insertion
⸻
Q28. What is smart pointer?
Answer:
Pointer that automatically manages memory.
Examples:
• unique_ptr
• shared_ptr
• weak_ptr
⸻
Q29. What is RAII?
Answer:
Resource Acquisition Is Initialization — resource tied to object lifetime.
⸻
Q30. What is namespace?
Answer:
Used to avoid name conflicts.
⸻
🔹 SECTION 6: EMBEDDED / SYSTEM C & C++
Q31. Why use volatile in embedded systems?
Answer:
Variables can change due to hardware or interrupts.
⸻
Q32. What is ISR?
Answer:
Interrupt Service Routine — function executed on interrupt.
⸻
Q33. What is memory leak?
Answer:
Allocated memory not freed.
⸻
Q34. Difference between new/delete and malloc/free?
Answer:
• new/delete call constructors/destructors
• malloc/free do not
⸻
Q35. What is deadlock?
Answer:
Two processes waiting for each other indefinitely.
⸻
🔹 SECTION 7: COMMON TRICK QUESTIONS
Q36. Can main() be overloaded?
Answer:
No.
⸻
Q37. Can we have virtual constructor?
Answer:
No, but destructor can be virtual.
⸻
Q38. Can sizeof return zero?
Answer:
No.
⸻
Q39. Is C pass by value or reference?
Answer:
C supports only pass by value (reference via pointers).
⸻
Q40. Why sizeof(char) is always 1?
Answer:
Defined by C standard.
⸻
No comments:
Post a Comment