Author: Stan Eisenstat
Subject: Re: [Cs223] Malloc allocates wrong amount of memory
Date: Saturday, 18 Apr 2020, 07:34:55
> Message Posted By: Unknown
>
> I'm using malloc to allocate a certain amount of memory, but when I print
> the sizeof() the allocated memory is different.
>
> int newArraySize = 16;
> htbl[tablePos] = malloc(newArraySize);
> printf("---- %d, %d\n", sizeof(htbl[tablePos]), newArraySize);
>
> which then prints
> ---- 8, 16
>
> Why would this be happening?
Because sizeof() is printing the size of htbl[tablePos],
which is presumably a char *, not the amount of storage
allocated.
Remember that sizeof() is evaluated at compile-time, not
run-time.
--Stan-
PREV
INDEX
NEXT