举个例子
int detection_tracking(ImageBuffer* buffer,unsigned char* input_img,unsigned char* input_img_sampled,int *first_time);
{
if(*first_time)
{
//做些什么事情
*first_time=0;
}
else
{}
}
使用时
main()
{
static int first_time=1;
...
detection_tracking(buffer, input_img,input_img_sampled,&first_time);
...
}
如果函数定义为
int detection_tracking(ImageBuffer* buffer,unsigned char* input_img,unsigned char* input_img_sampled,int first_time);
则调用时,first_time的值没法被改变。因为传递的是变量的值,而不是指针地址。
另外一种方法是用return返回。