On Tue, 11 Apr 2023, Markus Elfring wrote: > >>>> https://stackoverflow.com/questions/25725286/does-taking-address-of-member-variable-through-a-null-pointer-yield-undefined-be > >>>> https://en.cppreference.com/w/c/language/behavior > >>> > >>> The statement: > >>> > >>> "... &((*ptr).second) which dereferences an object instance pointer" > >>> > >>> is not correct. &((*ptr).second) does not dereference *ptr any more than > >>> &x deferences x. The semantics of & doesn't work like that. > >> > >> Does the usage of the operator “member access through pointer” (arrow) mean also > >> a dereference in comparison to the asterisk operator in the C programming language? > > > > Not when there is a & in front. you can just look at the generated > > assembly code to see that. The goal of & is to take the address of > > something, not to evaluate the thing. > > Would you like to take another look at recent responses by David Svoboda? > https://wiki.sei.cmu.edu/confluence/display/c/EXP34-C.+Do+not+dereference+null+pointers?focusedCommentId=405504153#comment-405504153 His previous comment says that the standard doesn't mention &a->b so it is a problem. He is surely more of an expert on the C standard than I am. julia