c++ struct
与数组一样,结构体的指针指向首地址。
【数组 与 struct 互相赋值】
将数组中元素赋值给struct中元素(类型需一致,否则保持默认值),若数组元素少,struct中未被赋值的保持默认值。若数组元素多,对应位置的元素会赋值给struct。
#include<iostream> struct MyStruct { short n1; //默认0 short n2; }; int main() { uint16_t naWidth[4] = { 0,1,2,3 }; //uint16_t是unsigned short,可以给short型赋值 MyStruct *pMyStruct = (MyStruct*)naWidth; //naWidth默认指向首地址,所以n1=0,n2=1 pMyStruct = (MyStruct*)(naWidth + 2); //pMyStruct指向第3个地址,n1=2,n2=3。 pMyStruct->n1 = 10; pMyStruct->n2 = 11; //naWidth第3、4个元素被改为10、11,因为pMyStruct指向的内存就是第3、4元素的内存 return 0; }
【struct 赋给 数组】
#include<iostream> struct MyStruct { short n1; //默认0 short n2; }; int main() { uint16_t nArray[4] = { 0,1,2,3 }; //uint16_t是unsigned short,可以给short型赋值 MyStruct *s_My = (MyStruct*)nArray; //nArray默认指向首地址,所以n1=0,n2=1 memcpy(nArray + 2, s_My, 2 * sizeof(uint16_t)); //将n1、n2的值赋给数组的后2个元素。即数组变为{0,1,0,1} s_My = (MyStruct*)(nArray + 2); //n1=2,n2=3 return 0; }
【值得一看】
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
2022-09-22 QFuture.isFinished()为true,QFuture.waitForFinished()竟然报错
2019-09-22 2、持续监听客户端的信息