C语言:当你取消引用"指向int的指针"时,应该返回什么?

Dar*_*lar 0 c pointers

假设你有:

    void *a = //some address;
    *((int **)(char*)a) = 5
Run Code Online (Sandbox Code Playgroud)

我不清楚第二行应该做什么...我知道'a'被转换为指向char的指针,然后最终被转换为指向int的指针,但它目前还不清楚是什么解除引用指向int实际指针的指针...

这将非常有帮助.谢谢

nec*_*cer 7

它将值5存储在"某个地址"中,但更确切地说,它是将值5加宽到从"某个地址"开始的那么多字节中的机器地址大小.

例如,如果它是64位机器,它将值0x0000000000000005存储在从"某个地址"开始的8个字节处

我不明白为什么它以这么复杂的方式做到这一点,但我们是谁来判断一个程序员在漫长的一天结束时努力工作的意图.