村里小黑 发表于 2021-9-23 09:35:54

结构体实战问题

首先有两个这样的结构体
typedef struct value
{
    uinta;
    uintb;
}value_one;
typedef struct {
    struct value Ua;
    struct value Ub;
    struct value Uc;
}value_more;然后在函数中进行调用,原函数如下
void text (int data,int num )
{
...
}
函数在程序中的调用如下
int a=0;
a=x;//x为可变参数,x=0或1或2
value_more VALUE;
if(a = 0)
{
    text(VALUE.Ua.a,0);
}
if(a = 1)
{
    text(VALUE.Ub.a,0);
}
if(a = 2)
{
    text(VALUE.Uc.a,0);
}请问各位大佬,如何根据a只调用一次text函数实现区分结构体的功能?(代码为手打,没经过编译器,可能有不严谨之处)

newu 发表于 2021-9-23 10:18:53

感觉这样已经很高效了,不过你非要简洁的话,我觉的可以整一个数组,专门维护这个。

伪代码如下
int a=0;
a=x;//x为可变参数,x=0或1或2
value_more VALUE;
value_one* list = ;

text(list.a,0);

村里小黑 发表于 2021-9-23 11:26:51

newu 发表于 2021-9-23 10:18
感觉这样已经很高效了,不过你非要简洁的话,我觉的可以整一个数组,专门维护这个。

伪代码如下

大致明白了,但是text里面应该用->把,还有就是数组大括号,容易误导人{:5_109:}

newu 发表于 2021-9-23 12:29:08

村里小黑 发表于 2021-9-23 11:26
大致明白了,但是text里面应该用->把,还有就是数组大括号,容易误导人

谢谢{:5_109:},写python习惯了,没变换过来。
页: [1]
查看完整版本: 结构体实战问题