1

我正在使用一些内置函数fun(void **args)并调用这个函数传递参数fun(args);,所以它是什么意思void **args以及如何检查值args在 C 中 的含义。

void GetValues(void ** args, nsString sToken, int iTokenNo)
{  
    printf("Token is : %s and Token no is %d ",sToken,iTokenNo);
    NSLog("Token Name %s and Token no is %d",sToken,iTokenNo);
}

在调用这个函数时,我必须通过GetValue(args,TokenName,TokenNo);我认为现在很清楚我想问什么。为什么我必须传递 args 甚至我没有使用void**args.

4

1 回答 1

2

args 是指向某些数据的指针(可以是任何数据,它会被强制转换为正确的 int、char、struct 或 fun() 中的任何内容。

您可以检查 args 本身的值,它将是一个内存位置,指向另一个指向“某物”的内存位置。

请注意, args 本身不能在 fun 内部更改,因为 C 仅按值传递参数,但它指向的指针可以更改...

如果这没有意义,你应该多学习 C.

于 2013-09-19T04:59:41.263 回答