|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2014-1-17 19:42:31
|
显示全部楼层
我是看到下面的一段程序中提到的,这个程序里面就直接返回一个结构体数据,然后赋值给另一个结构体了。
在vc6.0中测试
#include <stdio.h>
struct tst{ //定义菜单结构体
void (*p)();
struct tst *next;
};
void function1() //菜单动作
{
xianshi("this is function1\r\n");
}
void function2()
{
xianshi("this is function2\r\n");
}
struct tst ChuanDi(void (*function)(void),struct tst *hh) //菜单内容传递函数
{struct tst gg;//定义菜单结构休gg
gg.next=hh;
gg.p=function;
return (gg);
}
void main()
{struct tst aa;
struct tst *s;
struct tst bb;
aa=ChuanDi(&function1,&bb);
bb=ChuanDi(&function2,&aa);
s=&aa;
(*s).p();
s=(*s).next;
(*s).p();
s=(*s).next;
(*s).p();
s=(*s).next;
(*s).p();
s=(*s).next;
(*s).p();
} |
|