Machine-translated by Google. Questions are authored in English.
Top

Discussion

Which of the following are incorrect syntax for pointer to structure?

(Assuming struct temp{int b;}*my_struct;)

 

  • A.*my_struct.b = 10;
  • B.(*my_struct).b = 10;
  • C.my_struct->b = 10;
  • D.Both *my_struct.b = 10; and (*my_struct).b = 10;

Answer: A

Correct answer: *my_struct.b = 10;

The dot binds tighter than the dereference, so *my_struct.b parses as *(my_struct.b) - which tries to take a member of a pointer and then dereference it. The two valid forms are (*my_struct).b, with the parentheses forcing the right order, and its shorthand my_struct->b.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.