首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

单链表有关问题:同一函数怎么输出的不同数据成员

2012-08-03 
单链表问题:同一函数如何输出的不同数据成员?C/C++ codetypedef struct node{TCHAR *dataTCHAR *typeBOO

单链表问题:同一函数如何输出的不同数据成员?

C/C++ code
typedef struct node{    TCHAR *data;    TCHAR *type;    BOOL isClear;    struct node *next}BOOL EnumerateNodeVal(node* list){    struct node *p;    p = list;    while( p != NULL )    {        MessageBox(NULL,p->data,"LinkListVal",MB_OK);        p = p->next;    }    return TRUE;}

在遍历的时候,能不能实现根据不同需求来输出指定数据成员,比如:
将函数定义为BOOL EnumerateNodeVal(node* list,?)//不知道如何定义,用“?”代替
然后根据“?”,选择输出 p->data 或 p->type 。


[解决办法]
那就传参数进来,用switch语句呗。
[解决办法]
自定义一个 type嘛
比如 int type 0 表示数据 1 表示类型
调用的时候传个值,函数里面判断一下这个值 是 0 还是 1 就对应输出就是了
[解决办法]
C/C++ code
BOOL EnumerateNodeVal(node* list,int index){    struct node *p;    p = list;    while( p != NULL )    {        switch(index)        {            case 0:                MessageBox(NULL,p->data,"LinkListVal",MB_OK);                break;            case 1:                MessageBox(NULL,p->type,"LinkListVal",MB_OK);                break;            }        p = p->next;    }    return TRUE;}
[解决办法]
如果觉得不够直观,可以使用enum来定义。

热点排行