多个结构体的函数应用

来源:互联网 发布:ip端口打开失败 编辑:程序博客网 时间:2024/06/09 17:35
#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;}

原创粉丝点击