1
引出话题
参考代码:
1/************filename: App.h*************/
2#ifndef __APP_H__
3#define __APP_H__
4
5
6typedef struct _tag_StObj stObj;
7struct _tag_StObj
8{
9 int member1;
10 int member2;
11};
12
13//interface
14
15int sAdd(stObj *pObj);
16
17#endif
18
19/************filename: App.c*************/
20#include 'App.h'
21
22/**********************************
23 * Function : sAdd
24 * Note :加法函数,也是接口函数
25 * Author: bug菌
26 **********************************/
27int sAdd(stObj *pObj)
28{
29 return (pObj->member1 + pObj->member2);
30}
31
32/************filename: main.c*************/
33#include <stdio.h>
34#include './App/App.h'
35
36int main(void)
37{
38 stObj Obj;
39 Obj.member1 = 1;
40 Obj.member2 = 2;
41
42 printf('result = %d\n',sAdd(&Obj));
43
44 return 0;
45}
2
不完全类型
1/************filename: App.h*************/
2#ifndef __APP_H__
3#define __APP_H__
4
5
6typedef struct _tag_StObj stObj;
7/*struct _tag_StObj
8{
9 int member1;
10 int member2;
11};*/
12
13//interface
14
15int sAdd(stObj *pObj);
16
17#endif
18
19/************filename: App.c*************/
20#include 'App.h'
21
22struct _tag_StObj
23{
24 int member1;
25 int member2;
26};
27/**********************************
28 * Function : sAdd
29 * Note :加法函数,也是接口函数
30 * Author: bug菌
31 **********************************/
32int sAdd(stObj *pObj)
33{
34 return (pObj->member1 + pObj->member2);
35}
36
37/************filename: main.c*************/
38#include <stdio.h>
39#include './App/App.h'
40
41int main(void)
42{
43 stObj Obj;
44 Obj.member1 = 1;
45 Obj.member2 = 2;
46
47 printf('result = %d\n',sAdd(&Obj));
48
49 return 0;
50}
3
求助指针
1/************filename: main.c*************/
2
3#include <stdio.h>
4#include './App/App.h'
5
6int main(void)
7{
8 stObj *Obj;
9 //Obj.member1 = 1;
10 //Obj.member2 = 2;
11
12 printf('result = %d\n',sAdd(Obj));
13
14 return 0;
15}
4
隐藏结构体成员
参考代码:
1/************filename: App.h*************/
2#ifndef __APP_H__
3#define __APP_H__
4
5
6typedef struct _tag_StObj stObj;
7
8//interface
9stObj * sCreate(int member1,int member2);
10int sAdd(stObj *pObj);
11
12
13#endif
14
15/************filename: App.c*************/
16#include 'App.h'
17
18struct _tag_StObj
19{
20 int member1;
21 int member2;
22};
23
24/**********************************
25 * Function : sCreate
26 * Note :创建函数,也是接口函数
27 * Author: bug菌
28 **********************************/
29stObj * sCreate(int member1,int member2)
30{
31 static stObj staticObj;
32
33 staticObj.member1 = member1;
34 staticObj.member2 = member2;
35
36 return &staticObj;
37}
38
39
40/**********************************
41 * Function : sAdd
42 * Note :加法函数,也是接口函数
43 * Author: bug菌
44 **********************************/
45int sAdd(stObj *pObj)
46{
47 return (pObj->member1 + pObj->member2);
48}
49
50/************filename: main.c*************/
51
52#include <stdio.h>
53#include './App/App.h'
54
55int main(void)
56{
57 stObj *Obj;
58
59 Obj = sCreate(3,5); //内部构造结构体
60
61 printf('result = %d\n',sAdd(Obj)); //调用相应的接口
62
63 return 0;
64}
5
but
联系客服