C Interview Questions and Answers for Freshers (Part 4)
If you’re preparing for your first C programming interview, this guide will help you cover the next set of commonly asked questions — from memory management to string handling and file operations. Let’s go step-by-step.
1. What is recursion in C? Give an example.
Answer:
Recursion is when a function calls itself to solve a smaller part of a bigger problem. It continues calling itself until a base condition is met.
Example:
#include <stdio.h>
int factorial(int n) {
if (n == 0)
return 1; // base case
else
return n * factorial(n - 1);
}
int main() {
printf("Factorial of 5 is %d", factorial(5));
return 0;
}
Explanation:
Here, factorial() keeps calling itself with smaller values until it reaches 0.
2. What is the difference between call by value and call by reference?
Answer:
- Call by Value: A copy of the variable is passed to the function. Changes inside the function don’t affect the original variable.
- Call by Reference: The address of the variable is passed, so changes inside the function directly modify the original value.
Example:
void changeValue(int x) { x = 10; } // call by value
void changeRef(int *x) { *x = 10; } // call by reference
3. What are pointers in C?
Answer:
A pointer is a variable that stores the memory address of another variable.
Example:
int a = 5;
int *ptr = &a;
printf("Value: %d", *ptr);
Here, ptr stores the address of a, and *ptr accesses its value.
4. What is NULL pointer?
Answer:
A NULL pointer doesn’t point to any valid memory location. It’s used for safety to avoid accessing garbage memory.
Example:
int *ptr = NULL;
if (ptr == NULL)
printf("Pointer is empty");
5. What is dangling pointer?
Answer:
A dangling pointer points to memory that has already been freed or deleted.
Example:
int *ptr = (int*)malloc(sizeof(int));
free(ptr);
printf("%d", *ptr); // dangling pointer - undefined behavior
6. What is the difference between malloc() and calloc()?
Answer:
| Function | Initialization | Usage |
|---|---|---|
| malloc() | Doesn’t initialize memory | int *a = (int*)malloc(5*sizeof(int)); |
| calloc() | Initializes with 0 | int *a = (int*)calloc(5, sizeof(int)); |
Both allocate dynamic memory, but calloc() also sets the allocated memory to zero.
7. What is the purpose of the free() function?
Answer:
The free() function releases memory that was allocated using malloc() or calloc().
Example:
int *a = malloc(10 * sizeof(int));
free(a); // prevent memory leak
8. What is memory leak in C?
Answer:
A memory leak happens when dynamically allocated memory is not freed. It stays reserved and cannot be used again, wasting memory.
Example:
void test() {
int *p = malloc(10 * sizeof(int));
// forgot to free(p)
}
9. What is an array in C?
Answer:
An array is a collection of elements of the same type stored in continuous memory locations.
Example:
int arr[5] = {1, 2, 3, 4, 5};
printf("%d", arr[2]); // prints 3
10. What is the difference between array and pointer?
Answer:
- An array holds multiple values of the same type.
- A pointer holds the address of a variable or an array.
Example:
int arr[3] = {1, 2, 3};
int *ptr = arr;
printf("%d", *(ptr+1)); // prints 2
11. What is a string in C?
Answer:
A string is a sequence of characters terminated by a null character '\0'.
Example:
char name[] = "Glimsy";
printf("%s", name);
12. What is the difference between strcmp() and strcpy()?
Answer:
| Function | Purpose |
|---|---|
| strcmp(str1, str2) | Compares two strings |
| strcpy(dest, src) | Copies one string to another |
Example:
char s1[10] = "Cat";
char s2[10] = "Dog";
printf("%d", strcmp(s1, s2)); // non-zero result
13. What is structure in C?
Answer:
A structure is a user-defined data type that groups different data types together.
Example:
struct Student {
int id;
char name[20];
};
14. How to access structure members?
Answer: Use the dot (.) operator or arrow (->) operator if using pointers.
Example:
struct Student s1 = {1, "Amit"};
printf("%d %s", s1.id, s1.name);
15. What is the difference between structure and union?
Answer:
| Feature | Structure | Union |
|---|---|---|
| Memory | Separate memory for each member | Shared memory for all members |
| Usage | When all members are needed | When one member is used at a time |
16. What is typedef in C?
Answer:typedef gives a new name to an existing data type.
Example:
typedef unsigned int uint;
uint age = 25;
17. What is an enum in C?
Answer:
An enum is a user-defined type that gives names to integer constants.
Example:
enum week {Mon, Tue, Wed, Thu, Fri, Sat, Sun};
enum week day = Wed;
printf("%d", day); // prints 2
18. What is file handling in C?
Answer:
File handling lets you read and write data to files using functions like fopen(), fprintf(), fscanf(), fclose() etc.
Example:
FILE *fp = fopen("data.txt", "w");
fprintf(fp, "Hello C!");
fclose(fp);
19. Difference between text and binary files?
Answer:
| File Type | Description |
|---|---|
| Text File | Contains readable characters (like .txt) |
| Binary File | Contains raw data (like .dat, .bin) |
20. What is the purpose of fopen() and fclose()?
Answer:
- fopen() – Opens a file for reading/writing.
- fclose() – Closes the opened file.
Example:
FILE *f = fopen("glimsy.txt", "r");
fclose(f);
21. What are command-line arguments?
Answer:
They allow users to pass arguments to the program while executing it.
Example:
#include <stdio.h>
int main(int argc, char *argv[]) {
printf("Program name: %s", argv[0]);
return 0;
}
22. What is preprocessor in C?
Answer:
The preprocessor runs before compilation and handles directives like #include, #define, etc.
23. What is the difference between #include <file.h> and #include “file.h”?
Answer:
#include <file.h>→ Searches in system directories.#include "file.h"→ Searches in current directory first.
24. What is macro in C?
Answer:
A macro is a piece of code that gets replaced by its value before compilation.
Example:
#define PI 3.14
printf("%f", PI);
25. What is the difference between macro and function?
Answer:
| Macro | Function |
|---|---|
| Processed by preprocessor | Executed at runtime |
| No type checking | Type checking done |
| Faster but less safe | Slower but safer |
26. What is the purpose of static keyword?
Answer:
- In functions: makes them accessible only inside the same file.
- In variables: retains value between function calls.
Example:
void count() {
static int x = 0;
x++;
printf("%d ", x);
}
27. What is the use of const keyword?
Answer:
It makes a variable read-only — its value can’t be changed after initialization.
Example:
const int MAX = 100;
28. What is segmentation fault?
Answer:
A segmentation fault occurs when a program tries to access restricted or invalid memory.
Example: Dereferencing a NULL pointer can cause it.
29. What is the purpose of exit() function?
Answer:
It immediately terminates the program and returns a status code.
Example:
if (file == NULL) {
printf("File not found!");
exit(1);
}
30. What are header files?
Answer:
Header files contain function declarations and macros.
Example:#include <stdio.h> or #include "myheader.h"
🔸 Final Tips for Freshers
- Practice coding small programs like factorial, palindrome, swapping, etc.
- Understand memory, loops, and pointers deeply — they’re common in interviews.
- Always free dynamically allocated memory.
- Be confident to explain your logic step-by-step.
Tried ktslots1 the other day. Pretty standard stuff, you know? Some familiar titles. Might be worth a spin if you’re after something simple. Check them out at ktslots1.
Been hearing whispers about hd88bet. Anyone got some real-world experience with them? Fair play and decent payouts are key! hd88bet
Downloaded 955betapp. Navigation is a breeze. Let’s see if I can actually win something! Give it a try: 955betapp
afun4? Yeah, I’ve played there a couple of times. Decent selection of slots and the site’s pretty user-friendly. Not bad at all. afun4
The rewards and promotions here are actually attainable and not just bait. I’ve already claimed a couple of bonuses and they worked perfectly. Glad I found idbalislot!
Great rewards and even better customer support. I had a small issue with my account and they sorted it out in minutes. Big thanks to vntc88.
[2812]bet365 বাংলাদেশ লগইন এবং বিকাশ ক্যাসিনো ডিপোজিট,bet365 বাংলাদেশ login করে লাইভ ক্যাসিনো বোনাস অফার নিন। দ্রুত bet365 app download করুন এবং অনলাইন স্লট গেম ট্রিকস শিখে আজই খেলা শুরু করুন। visit: bet365
Super easy to get started and the sign up process took less than a minute. I am really enjoying the current promotions at yyycasinologin.
The jackpots here are insane! I’ve tried many sites but the winning streak I had at mustang303slot was something else. Totally worth a visit.
The payment options are so flexible and secure. I didn’t have any issues topping up my account. Everything is top notch at idhokipay