*(int *)CV = (int)0;
我正在查看C代码,无法理解这行代码。你能解释一下并解释它的作用吗?
答案 0 :(得分:7)
它将CV
强制转换为指向int
的指针,取消引用指针,并指定指向int
的值0
。
Here's a demo.此外,(int)0
在这种情况下与0
相同,因此可以更改以使事情变得更简单。
答案 1 :(得分:3)
首先将CV
转换为int指针,然后将其指向的整数设置为零。
0
的投射实际上并不是必需的。
您经常会在以下情况下看到它:
void setIntWithVoidPtr (void *p) {
*((int*)p) = 42;
}
答案 2 :(得分:1)
他们将变量CV
转换为类型int *
(指向int的指针),然后使用外部*
取消引用它,并为其赋值{ {1}}已投放到0
。
答案 3 :(得分:1)
似乎CV
是void *
,它首先被投放到int *
,然后取消引用,并且int
中的值设置为0. (int)0
,似乎没必要。