> > So if I have > > struct foo {int x; float y; } bar; > > int *pi; > > float *pf; > > > > and mark X as "nonaddressable", I know that an assigment to *pi can't > > affect bar.x. > > But if you add > > struct foo *foop = &bar. > > foop->x = 5. > > It can, even though we *claim* X is nonaddressable.
Which can what exactly? -- Eric Botcazou