1) Yes.
2) I'm not sure what you mean exactly. Perhaps...Code:struct foo { int bar; }; void function( struct foo *ptr ) { ptr->bar = 5; } int main( void ) { struct foo instance; function( &instance ); printf("instance->bar = %d\n", instance->bar ); return 0; }
Something like that should suffice.Code:struct foo { int bar; }; void function( struct foo **ptrptr ) { struct foo *ptr; ptr = *ptrptr; ...do all you need using ptr... ....update ptrptr when finished... }
Quzah.