此函数是否返回与其参数相同的指针?

0 c struct pointers

我在C中编写了这个函数:

void *PWNRetain(void *object) {
  PWNObject *obj = (PWNObject *)object; // <-- looks stupid, I know :)
  obj->retainCount++;
  return obj;
}
Run Code Online (Sandbox Code Playgroud)

重要的是,它将返回与其参数相同的指针.是obj等于object,还是我做了另一个指针错误?谢谢.:)

Chr*_*odd 7

是的,这将在C中返回相同的指针.实际上,您不需要在第二行显式强制转换,因为C允许从void *其他指针类型进行隐式转换.