Last week I wrote:
>I have a problem with a small c program. The following instruction
>returns a pointer to (void *) 0x140024800
>32 if ((allocMem = (void *) calloc(nrOfElems,size)) == NULL)
>33 {
>34 printf("ERROR ALLOCATING MEMORY\n");
>35 exit(1);
>36 }
>
>but later, on, I try to access th 88th element of my array, which is
>located at
>
>(gdb) print curElem
>$3 = (t_point *) 0x14002a000
>
>(gdb) print *curElem
>Cannot access memory at address 0x14002a000.
>
>which is exactly the address of the 88th element, and since the malloc did
>not return NULL, I assume that the allocation worked.
Unfortunately this was NOT mthe correct address. Next morning I found that
I had forgotten about c-pointer arithmetics. Half past 2 in the morning isn't
exactly the best time to search for errors in my code. I found my mistake
within 5 minutes the next morning. Please apologize that I have bothered you.
Sometimes I feel really stupid. :-(
Special thanks to all of you who tried to help me!
merry christmas to all of you,
tom
--
* Thomas Auer | Think where man's glory most begins and ends. *
* tom_at_cosy.sbg.ac.at | And say my glory was I had such friends. *
* Univ. of Salzburg, | William Butler Yeats *
* AUSTRIA | http://www.cosy.sbg.ac.at/~tom/tom.html *
Received on Thu Dec 14 1995 - 19:38:49 NZDT