iOS 结构体的data[0]问题。
来源:互联网 发布:守望先锋半藏伤害数据 编辑:程序博客网 时间:2024/04/28 04:02
经常我们看到写linux程序的,喜欢定义这样的东西。
typedef struct RegHeader{ unsigned int version; //版本号 unsigned int msg_id; //命令ID unsigned int size; //消息长度 unsigned char data[0]; //消息体}RegistShareHeader;typedef struct RegMsg{ uint8_t usr_no[32]; //ID uint8_t access_token[MAX_ACCESS_TOKEN_LEN]; uint8_t ssid[MAX_DEV_ID_LEN]; uint8_t pwd[MAX_PASSWD_LEN]; //密码 uint32_t encrypt_type; //加密类型0:NONE 1:WPA 2:WPA2 3:WEP uint32_t auth_mode; //认证方式0:NONE 1:EAP 2:PSK 3:OPEN 4:SHARED uint32_t secret_key_type; //密钥管理方式 0:NONE 1:AES 2:TKIP 只对应于加密类型为WPA/WPA2的情况}RegMsgBody;
第一个是消息头部,里面有个 uint8_t data[0]是不占空间的. size是它的长度, 你会发现结构体的大小为12。
把MsgBody的内容拷贝到data. header地址后面就紧跟着msgBody的内容。这种一般都用在变长的结构体定义中。iOS都是支持这种方式的结构体定义的。当然你也可以定义为一个指针。
1 0
- iOS 结构体的data[0]问题。
- iOS结构体的内存分配问题
- 在结构体中定义char data[0]的用法
- iOS Core data多线程并发访问的问题
- ios MVC 结构问题
- ios上的数据持久化问题概览(Data Persistence On iOS – An Overview)
- Core Data结构修改后,在AppStore中更新升级crash的问题.
- Core Data结构修改,升级,迁移,后,在AppStore中更新升级crash的问题.
- iOS开发之32位与64位,以及结构体对齐访问的问题
- iOS Data Storage问题导致审核不通过
- IOS core data遇到问题集合
- 关于结构体的问题
- 结构体对齐的问题
- 结构体的嵌套问题
- 结构体的sizeof问题
- 结构体的sizeof问题
- 结构体的初始化问题
- 结构体的对齐问题
- MATLAB 线性运算之图像相加去噪
- AlertDialog自定义布局
- 针对sqlServer截取字段
- 关于Linux,你该读哪些书
- 设置eclipse编码方式
- iOS 结构体的data[0]问题。
- AllJoyn中文教程
- TextView使用SpannableString设置复合文本
- Linux 虚拟内存和物理内存的理解
- 关于Android 5.0 安装部分应用失败解决方案
- 12864液晶菜单设计-转子傻孩子
- DFS Validate Binary Search Tree
- 从WebView缓存中获取网页图片
- android进程通信的方式