c语言中怎样通过索引获取结构体成员的值
c语言中怎样通过索引获取结构体成员的值c语言中怎样通过索引获取结构体成员的值。例如:structTest{chara;intb;intc;},当然成员变量的类型是不确定的...
c语言中怎样通过索引获取结构体成员的值c语言中怎样通过索引获取结构体成员的值。例如: struct Test { char a; int b; int c;},当然成员变量的类型是不确定的。我怎样才能实现通过索引值来获取成员变量的值,比如我要访问a,则给出的是索引值1,访问数据结构成员b,则给出2即可,以此类推。求大侠们帮帮忙。先谢过了。
展开
3个回答
展开全部
也许你可以定义一个数组,数组的值是结构体各个成员在结构体中的偏移位置,如
const int offset[] = {0, sizeof(char), sizeof(char)+sizeof(int)};
struct Test a;
那么访问第一个数据可以
char num1 = *(char*)((char*)&a + offset[0]);
int num2 = *(int*)((char*)&a + offset[1]);
int num3 = *(int*)((char*)&a + offset[2]);
const int offset[] = {0, sizeof(char), sizeof(char)+sizeof(int)};
struct Test a;
那么访问第一个数据可以
char num1 = *(char*)((char*)&a + offset[0]);
int num2 = *(int*)((char*)&a + offset[1]);
int num3 = *(int*)((char*)&a + offset[2]);
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询