#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指針變爲void指針,然後變成雙指針
旁註:打印「size_t」類型的值時應使用'%zu'。 – user694733