SUMMARY: Problems with malloc()

From: Thomas Auer <tom_at_cosy.sbg.ac.at>
Date: Thu, 14 Dec 1995 19:08:40 +0100 (MET)

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

This archive was generated by hypermail 2.4.0 : Wed Nov 08 2023 - 11:53:46 NZDT