The ones who are crazy enough to think they can change the world are the ones who do.
- Steve Jobs

C Memory Allocation Interview Questions and Answers

In most of the MNC interview questions such as in ZOHO interview question, IVTL Infoview interview questions, Amazon interview questions, GOOGLE interview questions, Infosys interview questions and even in Voonik interview questions, We come across several Tricky C Questions about which 2:5 of the questions are from Memory Allocation in c. Solving that kind of tricky C questions is not an easy task for all C programmers. We need more practices to solve it with ease. So we provide 25+ interesting C questions in Memory Allocation to make your MNC interview very easy.

C Memory Allocation Questions

6. What is the return type of malloc() or calloc()?



A. int *

B. int **

C. void *

D. void **

x

 

Option: C

Explanation

malloc() and calloc() return void *, without void * we may get warning in C if we don't type cast the return type to appropriate pointer.

Answer


7. What will be the output of the C program?

#include<stdio.h>
#include<string.h>
int main()
{
	int i;
	char *ptr;
	char *fun();
	ptr = fun();
	printf(" %s", ptr);
	return 0;
}
char *fun()
{
	char disk[30];
	strcpy(disk, "memory in c");
	printf("%s ",disk);
	return disk;
}

A. memory in c

B. memory in c memory in c

C. Compilation error

D. garbage value

x

 

Option: A

Explanation

Here disk is an auto array, when array is used as return value, it will die when the control go back to main() function of a program. Thus memory in c alone prints.

Answer


8. What will be the output of the C program?

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int *p;
	p = (int *)malloc(20);
	printf("%d\n", sizeof(p));
	free(p);
	return 0;
}

A. 40

B. 20

C. 4

D. 80

x

 

Option: C

Explanation

Since p is the pointer variable of integer type, thus the size of integer type is 4.

Answer


9. Which function is used to delete the allocated memory space?



A. Dealloc()

B. free()

C. Both a and b

D. either a or b

x

 

Option: B

Explanation

free() is used to free the memory spaces allocated by malloc() and calloc().

Answer


10. What will be the output of the C program?

#include<stdio.h>
#include<stdlib.h>
int main()
{
	struct test
	{
	int i;
	float f;
	char c;
	};
	struct test *ptr;
	ptr = (struct test *)malloc(sizeof(struct test));
	ptr ->f = 6.5f;
	printf("%f", ptr->f);
	return 0;
}

A. Compilation error

B. Garbage value

C. 6.500000

D. 0.000000

x

 

Option: C

Explanation

Here test is a structure name which consist of three variables of three different data types.

ptr is the pointer variable, for which the memory is allocated dynamically by using malloc() of function and then it is pointed towards the structure floating variable f.

Now f is initialized with a value 6.5f and then outputted as 6.500000.

Answer


Report Us

We may make mistakes(spelling, program bug, typing mistake and etc.), So we have this container to collect mistakes. We highly respect your findings.

Report