1 //obj.h 2 3 #include4 #include 5 #include 6 7 typedef struct Obj Obj; 8 9 Obj * CreateObject(int id, const char * name);10 11 void PrintObject(Obj * obj);12 13 int GetId(Obj * obj);14 15 char * GetName(Obj * obj);16 17 18 //obj.c19 20 #include "obj.h"21 22 struct Obj {23 int id;24 char name[32];25 };26 27 Obj * CreateObject(int id, const char * name)28 {29 Obj * ret = (Obj*)malloc(sizeof(Obj));30 if (ret)31 {32 ret->id = id;33 strcpy_s(ret->name, 32, name);34 }35 return ret;36 }37 38 void PrintObject(Obj * obj)39 {40 printf("obj->id = %d, obj->name = %s\n", obj->id, obj->name);41 }42 43 int GetId(Obj * obj)44 {45 return obj->id;46 }47 48 char * GetName(Obj * obj)49 {50 return obj->name;51 }52 53 //main.c54 55 #include 56 #include 57 #include 58 #include "obj.h"59 60 int main()61 {62 Obj * o1 = NULL;63 Obj * o2 = NULL;64 65 char name[32] = "two";66 o1 = CreateObject(10, "ten");67 o2 = CreateObject(2, name);68 69 PrintObject(o1);70 PrintObject(o2);71 72 printf("o1->id = %d, o1->name = %s\n", GetId(o1), GetName(o1));73 74 puts("\n按回车键继续");75 getchar();76 return 0;77 }