你传递给方法wait(int *)是什么

时间:2013-08-03 18:45:09

标签: iphone ios c

当我简单地传递int时,我收到警告:

  

警告:不兼容的整数到指针转换将int传递给参数   输入int *

换句话说,int *

2 个答案:

答案 0 :(得分:8)

这需要整数变量的地址,而不是整数变量本身。您可以使用&运算符获取变量的地址。所以下面的代码可以工作:

int i = 10;
wait( &i );

答案 1 :(得分:7)

wait()的手册页描述了参数的用途:

  

pid_t
   wait(int *stat_loc);

     

wait()函数暂停执行其调用进程,直到stat_loc信息可用于已终止的子进程或收到信号。从成功的wait()调用返回后,stat_loc区域包含有关退出过程的终止信息,如下所示。

*表示需要指针。由于参数是通过值传递给函数调用的,因此通过函数参数返回值的方式是通过指向接收值的对象的指针。

int status;
pid_t p;

p = wait(&status);