November 10, 2003 Pointer Incrementation Problem - DAYSAGOF.C | ||||
---|---|---|---|---|
| ||||
Attachments: | Hi Walter, I have a problem with my pointer not incrementing smoothly, one record to the next. (see code below) While stepping through an array and watching in the data/object window, the following is happening. (Imagine array numbered 1 to 10) records 1,2,0,0,5,6,0,0,9,10....etc. So it misses some records yet catches up, later. This is causing my pointer to go past the end of the array and my program crash. race_ctr = 0; /* find this race */ while( this_race_ptr->ref != this_run_ptr->ref && race_ctr < race_file_size ) { race_ctr++; this_race_ptr++; } The program compiles with no errors or warning messages. It's target is Windows 95 and Console. Maybe a clue here: When trying to locate the bug, after assigning "this_race_ptr" to the "racemem_ptr" (allocated memory) the following increment statements had no effect. this_race_ptr++; (and the following) this_race_ptr += (race_file_size); Yet on other pointers in the same location (after declaration, not in while loop) they work as they should? I have attached the source file. Any help very much appreciated. Paul |
November 10, 2003 Re: Pointer Incrementation Problem - DAYSAGOF.C | ||||
---|---|---|---|---|
| ||||
Posted in reply to Paul | I'd start by loading the program up with printf's to trace its execution. "Paul" <Paul_member@pathlink.com> wrote in message news:booboh$r0i$1@digitaldaemon.com... > Hi Walter, I have a problem with my pointer not incrementing > smoothly, one record to the next. (see code below) > While stepping through an array and watching in the data/object > window, the following is happening. (Imagine array numbered 1 to 10) > > records > 1,2,0,0,5,6,0,0,9,10....etc. So it misses some records yet catches > up, later. This is causing my pointer to go past the end of the array and > my program crash. > > race_ctr = 0; /* find this race */ > while( this_race_ptr->ref != this_run_ptr->ref > && race_ctr < race_file_size ) > { > race_ctr++; > this_race_ptr++; > } > > The program compiles with no errors or warning messages. It's target is Windows 95 and Console. > > Maybe a clue here: When trying to locate the bug, after assigning > "this_race_ptr" to the "racemem_ptr" (allocated memory) > the following increment statements had no effect. this_race_ptr++; > (and the following) this_race_ptr += (race_file_size); Yet on other > pointers in the same location (after declaration, not in while loop) > they work as they should? > > I have attached the source file. > > Any help very much appreciated. > > Paul > > > > > > > > |
Copyright © 1999-2021 by the D Language Foundation