#include <stdio.h>
#include <string.h>
main()
{
int an_int;
void *void_pointer = &an_int;
double *double_ptr = void_pointer;
*double_ptr = 10;
printf("%d", sizeof(*double_ptr));
}
Вывод этой программы 8.
Как это происходит ??
Я имею в виду, что double_ptr указывал на 4-байтовую память, но все равно вывод равен 8.
* Откуда берутся другие 4 байта ??? Эта программа должна потерпеть крах, поскольку другие 4 байта не выделяются на нее. *
Пожалуйста, объясните?INT указатель на пустой указатель, а затем в двойной указатель
Sidenote: вы должны использовать '% zu' при печати значений с типом' size_t'. – user694733