代码清单1-1 Sensor头文件
#ifndef Sensor_H #define Sensor_H typedef struct Sensor Sensor; struct Sensor { int filterFrequency; int updateFrequency; int value; }; int Sensor_getFilterFrequency(const Sensor *const me); void Sensor_setFilterFrequency(Sensor *const me,int p_filterFrequency); int Sensor_getUpdateFrequency(const Sensor *const me); void Sensor_setUpdateFrequency(Sensor *const me,int p_updateFrequency); int Sensor_getValue(const Sensor *const me); Sensor *Sensor_Creat(void); void Sensor_Destroy(Sensor *const me); #endif
代码清单1-2 Sensor实现文件
1 #include "Sensor.h" 2 #include<stdlib.h> 3 4 void Sensor_Init(Sensor *const me) 5 { 6 7 } 8 9 void Sensor_Cleanup(Sensor *const me) 10 { 11 12 } 13 14 int Sensor_getFilterFrequency(const Sensor *const me) 15 { 16 return me->filterFrequency; 17 } 18 19 void Sensor_setFilterFrequency(Sensor *const me,int p_filterFrequency) 20 { 21 me->filterFrequency = p_filterFrequency; 22 } 23 24 int Sensor_getUpdateFrequency(const Sensor *const me) 25 { 26 return me->updateFrequency; 27 } 28 29 void Sensor_setUpdateFrequency(Sensor *const me,int p_updateFrequency) 30 { 31 me->updateFrequency = p_updateFrequency; 32 } 33 34 int Sensor_getValue(const Sensor *const me) 35 { 36 return me->value; 37 } 38 39 Sensor *Sensor_Creat(void) 40 { 41 Sensor *me = (Sensor*)malloc(sizeof(Sensor)); 42 43 if(me != NULL) 44 { 45 Sensor_Init(me); 46 } 47 48 return me; 49 } 50 51 void Sensor_Destroy(Sensor *const me) 52 { 53 if(me != NULL) 54 { 55 Sensor_Cleanup(me); 56 } 57 free(me); 58 }
代码清单1-3 Sensor_main
1 #include"Sensor.h" 2 #include<stdlib.h> 3 #include<stdio.h> 4 5 int main(int argc, char *argv[]) 6 { 7 Sensor *p_Sensor0,*p_Sensor1; 8 9 p_Sensor0 = Sensor_Creat(); 10 p_Sensor1 = Sensor_Creat(); 11 12 p_Sensor0->value = 99; 13 p_Sensor1->value = -1; 14 15 printf("The current value from Sensor 0 is %d ",Sensor_getValue(p_Sensor0)); 16 printf("The current value from Sensor 1 is %d ",Sensor_getValue(p_Sensor1)); 17 18 Sensor_Destroy(p_Sensor1); 19 Sensor_Destroy(p_Sensor0); 20 21 return 0; 22 23 }