您的位置:首页 > 其它

多个结构体的函数应用

2012-10-05 20:40 225 查看
#include <stdio.h>
#include <malloc.h>
#include <memory.h>
#include <assert.h>
typedef struct people_name
{
void (*name)();
}people_name;
typedef struct tell
{
void (*tell)();
}Ptell;
void show_name()
{
printf("4M小水管");
}
void his_tell()
{
printf("说:我靠\n\n");
}
typedef struct call
{
people_name* Ppeople_name ;
Ptell* tell;
void (*ll_call)(struct all* pPlaza);
}Pcall;

void ll_call(struct call* pcall)
{
assert(NULL != pcall);

pcall->Ppeople_name->name();
pcall->tell->tell();

}

int main()
{
Ptell*ll_tell;
Pcall *call;
people_name* Ppeople_name ;

ll_tell = (Ptell*)malloc(sizeof(Ptell));
assert(NULL !=  ll_tell);
memset( ll_tell, 0, sizeof( Ptell));

call = (Pcall *)malloc(sizeof(Pcall));
memset( call, 0, sizeof( Pcall));
ll_tell->tell=his_tell;
call->tell=ll_tell;
call->tell->tell=ll_tell->tell;
Ppeople_name = (people_name*)malloc(sizeof(people_name));
assert(NULL !=  Ppeople_name);
memset( Ppeople_name, 0, sizeof( people_name));
Ppeople_name->name=show_name;
call->Ppeople_name=Ppeople_name;
call->Ppeople_name->name=Ppeople_name->name;
ll_call( call);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struct null include