-3

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

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

换句话说,什么是int *

4

2 回答 2

8

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

int i = 10;
wait( &i );
于 2013-08-03T18:49:29.217 回答
7

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

pid_t
wait(int *stat_loc);

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

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

int status;
pid_t p;

p = wait(&status);
于 2013-08-03T18:53:17.757 回答