Liste des Groupes | Revenir à cl c |
Andrey Tarasevich <andreytarasevich@hotmail.com> writes:I must be missing something here. Humm... I thought is was okay to do something like this:On 01/09/25 12:12 AM, Julio Di Egidio wrote:Right. In other words, it causes the pointed-to data to reach the endI do not understand that: `free` is changing the pointed data, so>
how can `const void *` even be "correct"?
`free` is destroying the pointed data.
of its lifetime. "Changing" the data generally means modifying its
value (that's what "const" forbids).
Given:
int *ptr = malloc(sizeof *ptr);
*ptr = 42;
printf("*ptr = %d\n", *ptr);
free(ptr);
After the call to free(), the int object logically no longer exists.
Also, the value of the pointer object ptr becomes indeterminate.
Attempting to refer to the value of either ptr or *ptr has undefined
behavior.
Les messages affichés proviennent d'usenet.