当我简单地传递 int 时,我收到警告:
警告:不兼容的整数到指针转换将 int 传递给 int * 类型的参数
换句话说,什么是int *
这需要整数变量的地址,而不是整数变量本身。您可以使用运算符获取变量的地址&
。所以下面的代码可以工作:
int i = 10;
wait( &i );
的手册页wait()
描述了参数的用途:
pid_t
wait(int *stat_loc);
该
wait()
函数暂停其调用进程的执行,直到stat_loc
有信息可用于终止的子进程或收到信号。从成功wait()
调用返回时,该stat_loc
区域包含有关退出的进程的终止信息,如下定义。
*
表示需要一个指针。由于参数是按值传递给函数调用的,因此通过函数参数返回值的方式是通过指向接收值的对象的指针。
int status;
pid_t p;
p = wait(&status);