Point out the correct statement will let you access the elements of the array using 'p' in the following program?
#include<stdio.h> #include<stdlib.h> int main() { int i, j; int(*p)[3]; p = (int(*)[3])malloc(3*sizeof(*p)); return 0; }A.
for(i=0; i<3; i++) { for(j=0; j<3; j++) printf("%d", p[i+j]); }B.
for(i=0; i<3; i++ printf("%d", p[i]);C.
for(i=0; i<3; i++) { for(j=0; j<3; j++) printf("%d", p[i][j]); }D.
for(j=0; j<3; j++) printf("%d", p[i][j]);
Point out the error in the following program.
#include<stdio.h> #include<stdlib.h> int main() { char *ptr; *ptr = (char)malloc(30); strcpy(ptr, "RAM"); printf("%s", ptr); free(ptr); return 0; }
Point out the error in the following program.
#include<stdio.h> #include<stdlib.h> int main() { int *a[3]; a = (int*) malloc(sizeof(int)*3); free(a); return 0; }
How many bytes of memory will the following code reserve?
#include<stdio.h> #include<stdlib.h> int main() { int *p; p = (int *)malloc(256 * 256); if(p == NULL) printf("Allocation failed"); return 0; }
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 0; }