C语言遍历结构体

揉碎了时光xy 2016-07-11 09:09:14
假设结构体为:
typedef struct
{
unsigned char ucType;
char cProgramID[32];
char cRegionGroupID[32];
unsigned char ucPlayStatus;
unsigned char ucMonitorStatus;
}InsertProgramQueryCondition;
求一段用循环遍历该结构体的c代码。
...全文
907 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
揉碎了时光xy 2016-07-12
  • 打赏
  • 举报
回复 1
引用 4 楼 qq423399099 的回复:
你是要遍历结构体还是要遍历放了很多结构体变量的一个容器?
我就是想给结构体中的每一个变量赋值,但是想用循环来遍历结构体,不然依次赋值感觉代码很冗余
揉碎了时光xy 2016-07-12
  • 打赏
  • 举报
回复
引用 6 楼 jianyuezhimei 的回复:
应该说对于结构体内部进行循环遍历不易做到,使用一些变通的方法或许能够做到,但最主要的是这样做毫无意义。
因为结构体很多,而且每个结构体里面的数据也比较多,我列举的只是一个小的例子,所以想通过遍历来取结构体中的值,不知道你有没有什么好的方法能实现一个通用的方法。
揉碎了时光xy 2016-07-12
  • 打赏
  • 举报
回复
引用 5 楼 amoyman 的回复:
我猜,楼主是要这样遍历结构体内的每个字节吧

InsertProgramQueryCondition ST
char *p = (char*)(&St);
for (int i =0; i < sizeof(InsertProgramQueryCondition); i++)
{
//这里 *p 就是要的内容
p++;
}
其实这个结构体里面还有其他类型的变量,如果还有int型变量,能遍历吗?
lm_whales 2016-07-12
  • 打赏
  • 举报
回复
C,C++ 没有直接的方法 按照 成员变量的类型,通过循环访问他。 你不是要做调试程序吧 那是对每个类型的类型信息,做了记录和封装 所以,才能一一看到。
jianyue--- 2016-07-12
  • 打赏
  • 举报
回复
应该说对于结构体内部进行循环遍历不易做到,使用一些变通的方法或许能够做到,但最主要的是这样做毫无意义。
阿麦 2016-07-12
  • 打赏
  • 举报
回复
我猜,楼主是要这样遍历结构体内的每个字节吧

InsertProgramQueryCondition ST
char *p = (char*)(&St);
for (int i =0; i < sizeof(InsertProgramQueryCondition); i++)
{
//这里 *p 就是要的内容
p++;
}
小灸舞 版主 2016-07-12
  • 打赏
  • 举报
回复
你是要遍历结构体还是要遍历放了很多结构体变量的一个容器?
揉碎了时光xy 2016-07-12
  • 打赏
  • 举报
回复
引用 2 楼 wanren13 的回复:
请把题目说清楚,光给个struct怎么遍历
就是要遍历结构体啊,没其他的要求
揉碎了时光xy 2016-07-12
  • 打赏
  • 举报
回复
引用 11 楼 wanren13 的回复:
引用 10 楼 u012947254 的回复:
[quote=引用 4 楼 qq423399099 的回复:] 你是要遍历结构体还是要遍历放了很多结构体变量的一个容器?
我就是想给结构体中的每一个变量赋值,但是想用循环来遍历结构体,不然依次赋值感觉代码很冗余
你有不止一种类型的变量,如何用循环赋值呢? 再说了,即使可以做到,一个结构体又能有多少变量。何必把简单的问题复杂化。。。[/quote]分给错了,抱歉
wanren13 2016-07-12
  • 打赏
  • 举报
回复
引用 10 楼 u012947254 的回复:
引用 4 楼 qq423399099 的回复:
你是要遍历结构体还是要遍历放了很多结构体变量的一个容器?
我就是想给结构体中的每一个变量赋值,但是想用循环来遍历结构体,不然依次赋值感觉代码很冗余
你有不止一种类型的变量,如何用循环赋值呢? 再说了,即使可以做到,一个结构体又能有多少变量。何必把简单的问题复杂化。。。
wanren13 2016-07-11
  • 打赏
  • 举报
回复
请把题目说清楚,光给个struct怎么遍历
揉碎了时光xy 2016-07-11
  • 打赏
  • 举报
回复
没人吗????求大神解答一下啊

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧