金牌会员
 
- 积分
- 2282
- 金钱
- 2282
- 注册时间
- 2013-12-16
- 在线时间
- 448 小时
|
发表于 2016-5-16 22:27:19
|
显示全部楼层
本帖最后由 zdfwyh 于 2016-5-16 23:11 编辑
编制两个程序文件main.c和type.c,main.c演示了如何定义结构体和一个结构体长度数组
type.c定义了结构体内容,如果需要增加和修改结构体内容,只要修改type.c就行,抛砖引玉
mian.c
[mw_shl_code=c,true]
#include "stdio.h"
#define DATA(a,b,c) a b;
typedef struct
{
#include "type.c"
}arm_test;
#define DATA(a,b,c) sizeof(a),
const char arm_test_size[]={
#include "type.c"
};
#define DATA(a,b,c) printf(c,*(a *)p);p+=arm_test_size[i++];
void myPrintf(void *p)
{
int n,i;
n=sizeof(arm_test);
i=0;
#include "type.c"
}
void main()
{
arm_test p;
p.a=1;
p.b='d';
p.c=0.9;
myPrintf((void*)&p);
while(1);
}[/mw_shl_code]
type.c
[mw_shl_code=c,true]
DATA(int ,a,"%d\r\n")
DATA(char ,b,"%c\r\n")
DATA(float,c,"%f\r\n")
#undef DATA
[/mw_shl_code]
|
|