250+ TOP MCQs on Pointer to Structures and Answers

’s MCQs on C helps anyone preparing for placement in Citrix and other companies. Anyone looking for Citrix placement papers should practice these questions continuously for 2-3 months, thereby ensuring a top position in placements.

Here is a listing of C programming questions on “Pointer to Structures” along with answers, explanations and/or solutions:

1. What will be the output of the following C code?

  1.     #include 
  2.     struct student
  3.     {
  4.         char *c;
  5.     };
  6.     void main()
  7.     {
  8.         struct student m;
  9.         struct student *s = &m;
  10.         s->c = "hello";
  11.         printf("%s", s->c);
  12.     }

a) hello
b) Run time error
c) Nothing
d) Depends on compiler
Answer: a
Clarification: None.

2. What will be the output of the following C code?

  1.     #include 
  2.     struct student
  3.     {
  4.         char *c;
  5.     };
  6.     void main()
  7.     {
  8.         struct student *s;
  9.         s->c = "hello";
  10.         printf("%s", s->c);
  11.     }

a) hello
b) Segmentation fault
c) Run time error
d) Nothing
Answer: b
Clarification: None.

3. What will be the output of the following C code?

  1.     #include 
  2.     struct student
  3.     {
  4.         char *c;
  5.     };
  6.     void main()
  7.     {
  8.         struct student m;
  9.         struct student *s = &m;
  10.         s->c = "hello";
  11.         printf("%s", m.c);
  12.     }

a) Run time error
b) Nothing
c) hello
d) Varies
Answer: c
Clarification: None.

4. What will be the output of the following C code?

  1.     #include 
  2.     struct student
  3.     {
  4.         char *c;
  5.     };
  6.     void main()
  7.     {
  8.         struct student m;
  9.         struct student *s = &m;
  10.         (*s).c = "hello";
  11.         printf("%s", m.c);
  12.     }

a) Run time error
b) Nothing
c) Varies
d) hello
Answer: d
Clarification: None.

5. What will be the output of the following C code?

  1.     #include 
  2.     struct student
  3.     {
  4.         char *c;
  5.     };
  6.     void main()
  7.     {
  8.         struct student n;
  9.         struct student *s = &n;
  10.         (*s).c = "hello";
  11.         printf("%pn%pn", s, &n);
  12.     }

a) Different address
b) Run time error
c) Nothing
d) Same address
Answer: d
Clarification: None.

6. What will be the output of the following C code?

  1.     #include 
  2.     struct p
  3.     {
  4.         int x[2];
  5.     };
  6.     struct q
  7.     {
  8.         int *x;
  9.     };
  10.     int main()
  11.     {
  12.         struct p p1 = {1, 2};
  13.         struct q *ptr1;
  14.         ptr1->x = (struct q*)&p1.x;
  15.         printf("%dn", ptr1->x[1]);
  16.     }

a) Compile time error
b) Segmentation fault/code crash
c) 2
d) 1
Answer: b
Clarification: None.

7. What will be the output of the following C code?

  1.     #include 
  2.     struct p
  3.     {
  4.         int x[2];
  5.     };
  6.     struct q
  7.     {
  8.         int *x;
  9.     };
  10.     int main()
  11.     {
  12.         struct p p1 = {1, 2};
  13.         struct q *ptr1 = (struct q*)&p1;
  14.         ptr1->x = (struct q*)&p1.x;
  15.         printf("%dn", ptr1->x[0]);
  16.     }

a) Compile time error
b) Undefined behaviour
c) Segmentation fault/code crash
d) 1
Answer: b
Clarification: None.

8. What will be the output of the following C code?

  1.     #include 
  2.     struct p
  3.     {
  4.         int x;
  5.         int y;
  6.     };
  7.     int main()
  8.     {
  9.         struct p p1[] = {1, 2, 3, 4, 5, 6};
  10.         struct p *ptr1 = p1;
  11.         printf("%d %dn", ptr1->x, (ptr1 + 2)->x);
  12.     }

a) 1 5
b) 1 3
c) Compile time error
d) 1 4
Answer: a
Clarification: None.

9. What will be the output of the following C code?

  1.     #include 
  2.     struct p
  3.     {
  4.         int x;
  5.         char y;
  6.     };
  7.     int main()
  8.     {
  9.         struct p p1[] = {1, 92, 3, 94, 5, 96};
  10.         struct p *ptr1 = p1;
  11.         int x = (sizeof(p1) / sizeof(struct p));
  12.         printf("%d %dn", ptr1->x, (ptr1 + x - 1)->x);
  13.     }

a) Compile time error
b) Undefined behaviour
c) 1 3
d) 1 5
Answer: d
Clarification: None.

Leave a Reply

Your email address will not be published. Required fields are marked *