Home - C Programming - Complicated Declarations

Complicated Declarations Online Exam Quiz

Important questions about Complicated Declarations. Complicated Declarations MCQ questions with answers. Complicated Declarations exam questions and answers for students and interviews.

1. What do the following declaration signify? void (*cmp)();

Options

A : cmp is a pointer to an void function type.

B : cmp is a void type pointer function.

C : cmp is a function that return a void pointer.

D : cmp is a pointer to a function which returns void .

2. What do the following declaration signify? int *ptr[30];

Options

A : ptr is a pointer to an array of 30 integer pointers.

B : ptr is a array of 30 pointers to integers.

C : ptr is a array of 30 integer pointers.

D : ptr is a array 30 pointers.

3. What will be the output of the program in Turbo C? #include<stdio.h> int main() { char near *near *ptr1; char near *far *ptr2; char near *huge *ptr3; printf("%d, %d, %d\n", sizeof(ptr1), sizeof(ptr2), sizeof(ptr3)); return 0; }

Options

A : 4, 4, 8

B : 4, 4, 4

C : 2, 4, 8

D : 2, 4, 4

4. What will be the output of the program? #include<stdio.h> int main() { char huge *near *ptr1; char huge *far *ptr2; char huge *huge *ptr3; printf("%d, %d, %d\n", sizeof(ptr1), sizeof(ptr2), sizeof(ptr3)); return 0; }

Options

A : 4, 4, 8

B : 2, 4, 4

C : 4, 4, 2

D : 2, 4, 8

5. What will be the output of the program (in Turbo C under DOS)? #include<stdio.h> int main() { char huge *near *far *ptr1; char near *far *huge *ptr2; char far *huge *near *ptr3; printf("%d, %d, %d\n", sizeof(ptr1), sizeof(ptr2), sizeof(ptr3)); return 0; }

Options

A : 4, 4, 8

B : 2, 4, 4

C : 4, 4, 2

D : 2, 4, 8

6. What will be the output of the program under DOS? #include<stdio.h> int main() { char huge *near *far *ptr1; char near *far *huge *ptr2; char far *huge *near *ptr3; printf("%d, %d, %d\n", sizeof(ptr1), sizeof(**ptr2), sizeof(ptr3)); return 0; }

Options

A : 4, 4, 4

B : 4, 2, 2

C : 2, 8, 4

D : 2, 4, 8

7. What will be the output of the program? #include<stdio.h> int main() { char far *near *ptr1; char far *far *ptr2; char far *huge *ptr3; printf("%d, %d, %d\n", sizeof(ptr1), sizeof(ptr2), sizeof(ptr3)); return 0; }

Options

A : 4, 4, 8

B : 4, 4, 4

C : 2, 4, 4

D : 2, 4, 8

8. What will be the output of the program? #include<stdio.h> int main() { char huge *near *far *ptr1; char near *far *huge *ptr2; char far *huge *near *ptr3; printf("%d, %d, %d\n", sizeof(ptr1), sizeof(*ptr2), sizeof(**ptr3)); return 0; }

Options

A : 4, 4, 4

B : 2, 4, 4

C : 4, 4, 2

D : 2, 4, 8

9. What will be the output of the program? #include<stdio.h> typedef void v; typedef int i; int main() { v fun(i, i); fun(2, 3); return 0; } v fun(i a, i b) { i s=2; float i; printf("%d,", sizeof(i)); printf(" %d", a*b*s); }

Options

A : 2, 8

B : 4, 8

C : 2, 4

D : 4, 12

10. What will be the output of the program? #include<stdio.h> typedef unsigned long int uli; typedef uli u; int main() { uli a; u b = -1; a = -1; printf("%lu, %lu", a, b); return 0; }

Options

A : 4343445454, 4343445454

B : 4545455434, 4545455434

C : 4294967295, 4294967295

D : Garbage values

1. What will be the output of the program? #include<stdio.h> int main() { struct s1 { char *z; int i; struct s1 *p; }; static struct s1 a[] = {{"Nagpur", 1, a+1} , {"Chennai", 2, a+2} , {"Bangalore", 3, a} }; struct s1 *ptr = a; printf("%s,", ++(ptr->z)); printf(" %s,", a[(++ptr)->i].z); printf(" %s", a[--(ptr->p->i)].z); return 0; }

Options

A : Nagpur, Chennai, Bangalore

B : agpur, hennai, angalore

C : agpur, Chennai, angalore

D : agpur, Bangalore, Bangalore

2. What will be the output of the program in DOS (Compiler - Turbo C)? #include<stdio.h> double i; int main() { (int)(float)(char) i; printf("%d", sizeof((int)(float)(char)i)); return 0; }

Options

A : 1

B : 2

C : 4

D : 8

3. What will be the output of the program? #include<stdio.h> int main() { char huge *near *far *ptr1; char near *far *huge *ptr2; char far *huge *near *ptr3; printf("%d, %d, %d\n", sizeof(**ptr1), sizeof(ptr2), sizeof(*ptr3)); return 0; }

Options

A : 4, 4, 4

B : 2, 2, 2

C : 2, 8, 4

D : 2, 4, 8

4. What will be the output of the program in DOS (Compiler - Turbo C)? #include<stdio.h> double i; int main() { (int)(float)(char) i; printf("%d",sizeof(i)); return 0; }

Options

A : 4

B : 8

C : 16

D : 22

1. What do the following declaration signify? char *arr[10];

Options

A : arr is a array of 10 character pointers.

B : arr is a array of function pointer.

C : arr is a array of characters.

D : arr is a pointer to array of characters.

2. What do the following declaration signify? int (*pf)();

Options

A : pf is a pointer to function.

B : pf is a function pointer.

C : pf is a pointer to a function which return int

D : pf is a function of pointer variable.

3. Declare the following statement? "An array of three pointers to chars".

Options

A : char *ptr[3]();

B : char *ptr[3];

C : char (*ptr[3])();

D : char **ptr[3];

4. What do the following declaration signify? int *f();

Options

A : f is a pointer variable of function type.

B : f is a function returning pointer to an int .

C : f is a function pointer.

D : f is a simple declaration of pointer variable.

5. Declare the following statement? "A pointer to a function which receives an int pointer and returns float pointer".

Options

A : float *(ptr)*int;

B : float *(*ptr)(int)

C : float *(*ptr)(int*)

D : float (*ptr)(int)

6. What do the following declaration signify? char **argv;

Options

A : argv is a pointer to pointer.

B : argv is a pointer to a char pointer.

C : argv is a function pointer.

D : argv is a member of function pointer.

C Programming more Online Exam Quiz

Copyright © 2021
Exam-GK-MCQ-Questions.Com | Contact Us | Privacy Policy | Terms of Use | Sitemap | 0.021444082260132