如何给已经定义好的结构体,重新增加几个(个数动态变化)变量,以便程序的其他地方给这几个变量赋值,

hacklinshell 2016-05-18 09:03:57
例如,我已经定义好了结构体
typedef struct _json_context_t{
int wifi_connected;
int wifi_strength;
char wifi_ssid[32];
char wifi_ip[16];
char wifi_mac[16];
int gprs_connected;
char phonenumber[12];
char IMEI[20];
}json_context_t;


然后我从其他服务端解析到了3个(个数动态的)变量,
int dht11_temp_data;
int dht11_hum_data;
int gp2y101_value;
如何动态的将这3个变量增加到原来的结构体中,
...全文
463 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Saleayas 2016-05-19
  • 打赏
  • 举报
回复
你就算加上也没有用,因为使用者不知道。 在很多使用,我们需要动态的使用一个数据结构。 此时需要使用一个标识来表示这个结构的额外数据。 使用 flag and union 来标识 数据。 在结构体开始定义一个 size 来表示这个结构数据的大小。 你可以看到 Windows API 很多传入和传出结构都是有 Size 的。 就是他的数据就像你这样的。
struct
{
int size;
int flag;
union
{
struct 
{} _1;
struct
{
} _2;
}
}
ghx287524027 2016-05-19
  • 打赏
  • 举报
回复
改不了~~~
赵4老师 2016-05-19
  • 打赏
  • 举报
回复
realloc ?
小灸舞 版主 2016-05-19
  • 打赏
  • 举报
回复
在结构体中放个void *指针?
有3个int的时候就转换成int *,并且分配3*sizeof(int)的空间
如果是double,那就转成double *
xigua1102 2016-05-19
  • 打赏
  • 举报
回复
结构体不能动态修改
paschen 2016-05-19
  • 打赏
  • 举报
回复
结构体的定义是在编译前,编译好的程序运行时全是二进制数据了
lm_whales 2016-05-19
  • 打赏
  • 举报
回复
1)修改原来的代码 2)传递结构体指针并强制转换
内容概要:本文研究了基于瞬态三角哈里斯鹰算法(TTHHO)求解带时间窗约束的骑手外卖配送路径规划问题,旨在优化配送效率与服务质量。该算法通过引入瞬态三角搜索机制,增强了传统哈里斯鹰优化算法的全局探索能力和收敛速度,有效解决了路径规划中的组合优化难题。研究建立了符合实际配送场景的数学模型,综合考虑了骑手行驶时间、客户时间窗限制、订单优先级等因素,利用Matlab进行算法实现与仿真实验。结果表明,TTHHO算法在降低总配送里程、提高准时送达率方面优于传统智能优化算法,具备较强的实用性和鲁棒性。; 适合人群:具备一定运筹优化、智能算法基础,从事物流调度、城市配送、外卖平台运营等相关领域研究或开发工作的科研人员及工程师,尤其适合研究生及以上学历或有1-3年相关工作经验的技术人员; 使用场景及目标:①解决城市外卖配送中多订单、多客户、带时间窗的路径优化问题;②提升配送效率、降低运营成本、改善用户体验;③为智能交通系统、即时配送平台提供算法支持与决策参考; 阅读建议:建议读者结合Matlab代码深入理解算法实现细节,重点关注TTHHO算法的搜索机制设计与参数设置,并通过调整测试案例规模和约束条件进行对比实验,以充分掌握其性能特点与适用边界。
内容概要:本文针对永磁同步电机(PMSM)发电控制系统,研究并实现了将先进PID控制算法——自抗扰控制(ADRC)及其核心组件跟踪微分器(TD)和扩张状态观测器(ESO)——集成到传统控制框架中的方法。通过Matlab/Simulink搭建详细的系统仿真模型,深入探讨了ADRC相较于传统PID在应对系统非线性、外部扰动和参数不确定性方面的显著优势。研究详细阐述了TD对设定值进行平滑规划以减少超调、ESO实时估计并补偿内外部总扰动的核心机理,最终通过仿真实验验证了ADRC能大幅提升系统的动态响应速度、抗干扰能力和运行稳定性。; 适合人群:具备自动控制原理、电机学基础和Matlab/Simulink仿真经验的电气工程、自动化及相关专业的高校师生、研究人员及从事电机控制、新能源发电领域的工程技术人员。; 使用场景及目标:① 深入理解ADRC、TD、ESO等先进控制算法的核心思想与工作原理;② 学习如何在Matlab/Simulink中构建永磁同步电机的发电控制仿真模型;③ 掌握将ADRC算法应用于电机控制的具体实现方法,并通过仿真对比分析其相对于传统PID的性能优势;④ 为新能源发电系统、高性能电机驱动等领域的控制策略优化提供技术参考和实践范例。; 阅读建议:在阅读过程中,应结合Matlab代码和Simulink模型进行实践操作,重点分析TD和ESO各参数对系统性能的影响,并尝试修改控制策略和仿真条件以加深理解,从而真正掌握先进控制算法的设计精髓与应用技巧。

70,038

社区成员

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

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