c - 指向c中两个不同的常量结构表(查找表)的单指针

标签 c pointers struct

我有两个不同的结构和两个常量查找表,如下所示

typedef const struct 
{
    unsigned int  num;
    unsigned char name[100];
    unsigned int value1;
    unsigned int value2;
    unsigned int value3;
}st_Table1;

typedef const struct
{
    unsigned int  num;
    unsigned char name[100];
}st_Table2;

st_Table1 stTable1[] =
{
    { 1, "Name1", 12, 13, 14 },
    { 2, "Name2", 22, 23, 24 },
    { 3, "Name3", 32, 33, 34 },
    { 4, "Name4", 42, 43, 44 }
};



st_Table2 stTable2[] =
    { 1, "India1" },
    { 2, "India2" },
    { 3, "India3" }
};

是否可以有一个指针可以同时指向查找表stTable1stTable2

当我必须决定选择两个表中的任何一个时,我们可以分配表的地址(其中之一)。

但之后我想在其余代码中使用单个指针。

请回复任何逻辑...提示...线索

阿尔温德

最佳答案

那么你可以创建一个结构

typedef struct _tableChoice 
{
  st_Table1* table1;
  st_Table2* table2;

} tableChoice_t,*p_tableChoice_t;

然后您可以传递 p_tableChoice_t 类型的参数,直到您需要专门访问其中一个表。如果您需要在运行时决定使用哪个指针,则需要在决策点提供两个可用的指针。

关于c - 指向c中两个不同的常量结构表(查找表)的单指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8470528/

相关文章:

c++ - 二维数组C++的复制构造函数

c++ - cpp 如何将 state_t* 类型的对象传递给函数

c - 释放结构体中的数组时出错

c - 结构和 union 名称冲突

c++ - 在 C++ 类中访问 getter setter 中的结构变量

c - 如何将 C 库函数加载到汇编中,并在另一个 C 或汇编项目中使用汇编库函数

c - 使用多个线程时,C 中的多线程编程速度较慢

c - 具有多个进程的管道输出错误

C++ - 基类指针、方法指针、引用派生类、方法?

c - 我的未分配指针将指向这里什么?