c语言中怎样通过索引获取结构体成员的值
c语言中怎样通过索引获取结构体成员的值c语言中怎样通过索引获取结构体成员的值。例如:structTest{chara;intb;intc;},当然成员变量的类型是不确定的...
c语言中怎样通过索引获取结构体成员的值c语言中怎样通过索引获取结构体成员的值。例如: struct Test { char a; int b; int c;},当然成员变量的类型是不确定的。我怎样才能实现通过索引值来获取成员变量的值,比如我要访问a,则给出的是索引值1,访问数据结构成员b,则给出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]);
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]);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询