天天看点

不用变量调用 同一个累加函数 -- struct A a 与 struct A *a 区别

1、指针调用

函数代码:

void proc_temp_not_reach(u32 time, u16 temp, u16 set_temp, TEMP_NOT_REACH_ALARM_STRUCT *temp_not_reach_alarm_struct_1, u8 alarm_code){
	if(time > 5){
		if(temp < (set_temp - 5)*10){//如果15分钟内未达到设置温度-5摄氏度
			temp_not_reach_alarm_struct_1->temp_get_count++;
			if(temp_not_reach_alarm_struct_1->temp_get_count >5){
				temp_not_reach_alarm_struct_1->temp_get_count = 0;
			}
		}
		else{
			temp_not_reach_alarm_struct_1->temp_get_count = 0;
		}											
	}		
}

void proc_temp_not_reach_b(u32 time, u16 temp, u16 set_temp, u8 *alarm_count, u8 alarm_code){
	if(time > 5){
		if(temp < (set_temp - 5)*10){//如果15分钟内未达到设置温度-5摄氏度
			(*alarm_count)++;
			if(*alarm_count > 5){
				*alarm_count = 0;
			}
		}
		else{
			*alarm_count = 0;
		}											
	}		
}
           

函数调用

proc_temp_not_reach(time, temp, set_temp, &temp_not_reach_alarm_struct, 90);
		proc_temp_not_reach_b(time, temp, set_temp, &alarm_count, 91);
           

这样可以实现 不用变量调用 同一个累加函数的问题。

继续阅读