社区
C++ 语言
帖子详情
结构体分析
liangbina07
2013-05-04 12:23:00
typedef struct _T{
int nType;
int p[0];
};
sizeof(T) = ???;
上面结构的用法师合法的,就上面的这样设计有什么意义?
...全文
264
8
打赏
收藏
结构体分析
typedef struct _T{ int nType; int p[0]; }; sizeof(T) = ???; 上面结构的用法师合法的,就上面的这样设计有什么意义?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
就是那个党伟
2013-05-06
打赏
举报
回复
楼主这么个struct好诡异的说
liangbina07
2013-05-05
打赏
举报
回复
懂了,谢谢上面各位兄弟的解答!
漫步者、
2013-05-04
打赏
举报
回复
你的数组大小不能为0吧,抛开这个语法,在设计上m没有什么不妥当的,我经常这么干
愤怒的翅膀
2013-05-04
打赏
举报
回复
数组都能为0,,好吧,那就4byte了
秃头披风侠
2013-05-04
打赏
举报
回复
结构的大小是一个int,最后的数组大小为0,因此应该不占空间。 楼主的这种写法是
柔性数组
,最后一个数组可以用来进行结构的扩充... 楼主可以搜索下柔性数组,资料还是蛮多的。
hugett
2013-05-04
打赏
举报
回复
在标准 C 或者 C++ 中由于不支持 0 长度的数组,所以 int array[0]; 这样的定义是非法的。不过有些编译器的扩展功能支持 0 长度的数组。 在 C 中,0 长度的数组的主要用途是用来作为结构体的最后一个成员,然后用它来访问此结构体对象之后的一段内存(通常是动态分配的内存)。由于其非标准性,在程序中尽量避免使用 0 长度的数组。作为替换,可以使用 C99 标准中的不完整数组来替换 0 长度的数组定义。 具体可以看一下:
http://blog.csdn.net/zhaqiwen/article/details/7904515
ri_aje
2013-05-04
打赏
举报
回复
数组大小必须大于零。
FFMPEG
结构体
分析
本文对 FFMPEG
结构体
进行了详细
分析
,介绍其分为协议层、封装层、解码层三个层次,阐述了各层对应
结构体
的作用,如 AVFormatContext、AVInputFormat、AVCodec 等,还
分析
了 AVCodecParameter、AVCodecContext、AVPacket、AVFrame 等
结构体
的功能及操作。
IDA逆向代码 ---
结构体
分析
与建立
本文介绍了IDA逆向代码中
结构体
的
分析
与建立。先阐述确定
结构体
大小的方法,如通过数据使用、初始化函数等。创建好
结构体
后,可修改字段和名称,使用Y修改数据类型。还说明了
结构体
的导入导出方法,最后给出创建
结构体
的例子及典型识别错误的解决办法。
FFMPEG
结构体
分析
:AVPacket
本文详细
分析
了FFMPEG中用于存储压缩编码数据相关信息的AVPacket
结构体
,包括其内部的重要变量含义和作用,以及如何在实际应用中使用此
结构体
。
sizeof(
结构体
)的
分析
本文深入解析了计算机中
结构体
的字节对齐原理,包括字节对齐的三个核心准则及其对数据存储的影响。通过具体示例,如
结构体
A、B等,详细
分析
了不同类型
结构体
的内存布局及sizeof计算过程,帮助读者理解如何优化
结构体
设计以提高内存使用效率。
C/C++逆向:
结构体
逆向
分析
本文聚焦C/C++程序逆向
分析
中
结构体
的逆向
分析
。介绍了通过
分析
结构体
内存访问模式推测布局,观察访问方式区分
结构体
和数组、推测成员类型。还给出C语言实例,展示逆向
分析
过程,包括程序编译、静态
分析
、定位函数、查看
结构体
特征等,为逆向
分析
打下基础。
C++ 语言
65,212
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章