当我简单地传递 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);