Q.1

If malloc() successfully allocates memory it returns the number of bytes it has allocated.

  • True
  • False
Q.2

Assume integer is 2 bytes wide. How many bytes will be allocated for the following code?

#include<stdio.h>
#include<stdlib.h>
#define MAXROW#define MAXCOL
int main()
{
    int (*p)[MAXCOL];
    p = (int (*) [MAXCOL])malloc(MAXROW *sizeof(*p));
    return
}
  • 56 bytes
  • 128 bytes
  • 24 bytes
  • 12 bytes
Q.3

Assume integer is 2 bytes wide. What will be the output of the following code?

#include<stdio.h>
#include<stdlib.h>
#define MAXROW 3
#define MAXCOL 4

int main()
{
    int (*p)[MAXCOL];
    p = (int (*) [MAXCOL])malloc(MAXROW *sizeof(*p));
    printf("%d, %d\n", sizeof(p), sizeof(*p));
    return}
  • 2, 8
  • 4, 16
  • 8, 24
  • 16, 32
Q.4

How many bytes of memory will the following code reserve?

#include<stdio.h>
#include<stdlib.h>

int main()
{
    int *p;
    p = (int *)malloc(* 256);
    if(p == NULL)
        printf("Allocation failed");
    return}
  • 65536
  • Allocation failed
  • Error
  • No output
0 h : 0 m : 1 s