Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!samsung!umich!caen!uakari.primate.wisc.edu!aplcen!boingo.med.jhu.edu!haven!adm!smoke!gwyn From: gwyn@smoke.brl.mil (Doug Gwyn) Newsgroups: comp.lang.c Subject: Re: Pointer and integer addition Message-ID: <15631@smoke.brl.mil> Date: 30 Mar 91 13:53:43 GMT References: <8334@umd5.umd.edu> Organization: U.S. Army Ballistic Research Laboratory, APG, MD. Lines: 7 In article <8334@umd5.umd.edu> dzoey@terminus.umd.edu (Joe Herman) writes: >fooptr = (char *) fooptr + fooptr->recsize; This (almost) should have worked. You also need to convert back to the proper pointer type before the assignment: fooptr = (struct foo *) ((char *) fooptr + fooptr->recsize);