当我简单地传递int时,我收到警告:
警告:不兼容的整数到指针转换将int传递给参数 输入int *
换句话说,int *
答案 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);