C Interview Questions and Answers – Part 2 (For Freshers and Beginners)
If you’ve already gone through the first part of our C Interview Questions for Freshers, this second part will help you take your preparation one step ahead.
Here, we’ll discuss slightly advanced but easy-to-understand C concepts that are often asked in technical interviews.
Let’s get started 👇
31. What is the difference between array and pointer in C?
Answer:
An array is a collection of similar data types stored in continuous memory, while a pointer is a variable that stores an address of another variable or array.
Example:
int arr[3] = {10, 20, 30};
int *ptr = arr;
printf("%d", *(ptr+1)); // prints 20
Here, both array name arr and pointer ptr can be used to access array elements.
32. What is pointer arithmetic?
Answer:
Pointer arithmetic means performing operations like addition or subtraction on pointers.
It is mostly used to move between memory locations.
Example:
int a[3] = {10, 20, 30};
int *p = a;
p++; // moves to next element
printf("%d", *p); // prints 20
33. What is a NULL pointer?
Answer:
A NULL pointer doesn’t point to any valid memory location. It’s often used to check if a pointer has a valid address or not.
Example:
int *ptr = NULL;
if(ptr == NULL)
printf("Pointer is empty");
34. What are function pointers in C?
Answer:
A function pointer stores the address of a function. It allows functions to be passed as arguments.
Example:
void greet() { printf("Hello"); }
int main() {
void (*ptr)() = greet;
ptr(); // calls greet()
}
35. What is the difference between structure and union?
Answer:
| Structure | Union |
|---|---|
| Each member has separate memory. | All members share the same memory. |
| Total size = sum of all members. | Size = size of largest member. |
| Used when storing different data together. | Used when saving memory is important. |
Example:
struct student { int id; float marks; };
union data { int id; float marks; };
36. What is enumeration (enum) in C?
Answer:enum is a user-defined data type that assigns names to integer constants for better readability.
Example:
enum week {Sun, Mon, Tue, Wed, Thu, Fri, Sat};
enum week today = Wed;
printf("%d", today); // prints 3
37. What is the difference between typedef and #define?
Answer:
typedefgives a new name to an existing data type.#defineis used for macros or constants.
Example:
typedef unsigned int UINT;
UINT age = 25;
#define PI 3.14
38. What is a static variable in C?
Answer:
A static variable keeps its value even after a function ends. It is stored in a fixed memory area.
Example:
void count() {
static int c = 0;
c++;
printf("%d ", c);
}
Every time count() is called, c retains its previous value.
39. What is recursion vs iteration?
Answer:
| Recursion | Iteration |
|---|---|
| Function calls itself. | Code repeats using loops. |
| Uses more memory. | Uses less memory. |
| Easier for problems like factorial, Fibonacci. | Easier for simple repetitions. |
40. What is the difference between gets() and scanf() for strings?
Answer:
scanf()reads only one word until space.gets()reads the full line (but it’s unsafe, may cause buffer overflow).
Example:
char name[50];
gets(name);
printf("%s", name);
41. What is the use of fgets() in C?
Answer:fgets() is a safer alternative to gets() for reading strings.
Example:
fgets(name, sizeof(name), stdin);
42. What are file handling functions in C?
Answer:
File handling is used to read and write data to files.
Common functions:
fopen()– opens a filefclose()– closes a filefprintf()– writes datafscanf()– reads datafgets()– reads string from filefputs()– writes string to file
Example:
FILE *f = fopen("data.txt", "w");
fprintf(f, "Hello World!");
fclose(f);
43. What is the difference between text and binary file in C?
Answer:
| Text File | Binary File |
|---|---|
| Data stored in human-readable form. | Data stored in binary (0s and 1s). |
Example: .txt | Example: .bin |
| Slower processing. | Faster and compact. |
44. What is memory leak in C?
Answer:
Memory leak occurs when memory is allocated dynamically (using malloc() or calloc()) but not freed using free().
This causes unnecessary memory usage.
Example:
int *ptr = (int*)malloc(10 * sizeof(int));
// free(ptr); missing -> memory leak
45. What is segmentation fault?
Answer:
A segmentation fault happens when a program tries to access memory that it is not allowed to (like using invalid or NULL pointers).
46. What is preprocessor in C?
Answer:
A preprocessor is a program that executes before compilation. It handles directives like #include, #define, and #ifdef.
47. What is conditional compilation?
Answer:
Conditional compilation allows certain parts of the code to be compiled only if specific conditions are met.
Example:
#ifdef DEBUG
printf("Debug mode on");
#endif
48. What is the difference between pass by value and pass by reference in C?
Answer:
Already discussed earlier, but here’s a recap —
- Pass by value: Sends copy of data.
- Pass by reference: Sends memory address.
Example (by reference):
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
49. What are command line arguments in C?
Answer:
Command line arguments are values passed to main() from the command line.
Example:
int main(int argc, char *argv[]) {
printf("%s", argv[1]);
return 0;
}
50. What is volatile keyword in C?
Answer:volatile tells the compiler that a variable’s value may change unexpectedly (like in hardware programs).
It prevents the compiler from optimizing that variable.
Example:
volatile int flag = 0;
51. What is pointer to pointer?
Answer:
A pointer to pointer means a variable that stores the address of another pointer.
Example:
int a = 10;
int *p = &a;
int **pp = &p;
printf("%d", **pp); // prints 10
52. What are bitwise operators in C?
Answer:
Bitwise operators perform operations on bits directly.
Operators:& (AND), | (OR), ^ (XOR), ~ (NOT), << (Left shift), >> (Right shift).
Example:
int a=5,b=3;
printf("%d", a & b); // 1
53. What is the use of const keyword?
Answer:const makes a variable’s value read-only, meaning it cannot be modified.
Example:
const int MAX = 100;
54. What is a dangling pointer?
Answer:
A dangling pointer occurs when the memory a pointer was pointing to is freed, but the pointer still exists.
It points to an invalid memory location.
Example:
int *ptr = (int*)malloc(sizeof(int));
free(ptr); // now ptr is dangling
55. What is the difference between stack and heap memory?
Answer:
| Stack | Heap |
|---|---|
| Managed automatically. | Managed manually using malloc/free. |
| Faster allocation. | Slower but flexible. |
| Limited size. | Large memory. |
56. What is the difference between exit(0) and return 0?
Answer:
return 0ends only the current function.exit(0)terminates the entire program immediately.
57. What is inline function?
Answer:
An inline function tells the compiler to insert the function code directly instead of making a function call (for faster execution).
inline int square(int x){ return x*x; }
58. What are advantages of using C language?
Answer:
- Fast execution speed.
- Portable across platforms.
- Easy to learn.
- Rich library of functions.
- Strong foundation for other languages.
59. What are disadvantages of C language?
Answer:
- No built-in object-oriented features.
- Manual memory management.
- No exception handling.
- Limited safety checks.
60. What are some real-world applications of C language?
Answer:
- Operating systems (like Linux)
- Database systems (like MySQL)
- Compilers and interpreters
- Embedded systems and firmware
- Game engines
Conclusion
By now, you’ve learned not just the basic concepts of C, but also advanced topics that interviewers commonly ask even for fresher-level positions.
The best way to master C is to practice small programs daily, understand how memory works, and test your logic step by step.
Whether you’re applying for a software development job or preparing for college placements, these C interview questions (Part 2) will help you confidently face your interviewer.
Stay tuned for Part 3, where we’ll cover C programs and real interview coding problems with step-by-step explanations.
Been using w88trangchu for a while now, and overall, I’m pretty happy with it. Nice selection of games, decent payouts. Check w88trangchu, pretty sure you won’t regret it.
The installation was a breeze. I was worried about the APK at first but it runs perfectly on my Android phone. Check out pk365downloadapk if you want a stable mobile experience.
One of the best platforms I have used recently. Everything is straightforward and the graphics are top notch. Go for idasiabet
Best experience I have had in a while. The payouts are fair and the customer support is actually helpful. Highly recommended for anyone in PH looking for a reliable site. Visit 85phcom
This casino has such a vibe! I feel lucky every time I log in. The graphics are amazing and the gameplay is very immersive. swertewincasino
[131]Lapaktoto: Login Daftar Apk dan Situs Slot Deposit Dana,Lapaktoto menyediakan akses login mudah dan daftar lapaktoto apk untuk main casino online. Temukan bocoran pola slot gacor hari ini dan segera bergabung. visit: lapaktoto