请教关于结构体定义

[复制链接]
查看11 | 回复1 | 2009-4-14 17:36:39 | 显示全部楼层 |阅读模式
我先说明一下我的程序情况:
我做的是个数据包分析程序,定义了一个结构体形式来存放所有的数据包;
typedef struct _packet{
long lid;//编号
intilen;//数据包长度
CUSTIME time;//接收时的时间
const u_char* rawdata;//数据内容
}PACKET,*PPACKET;
其中,rawdata为指向原始数据(长度为ilen)的首地址,我想问当有很多个这样的结构体之后,它们之中的rawdata会不会有可能重叠,即互相改写。
假如:第一个结构体的rawdata="jfksafnmsafjlksadjfklsdajf";
可不可能会有结构体的rawdata把第一个的rawdata部分内容覆盖。请说明理由?
如果你觉得这个结构体设计的不好,也请推荐一个比较好的结构来存放数据包。

回复

使用道具 举报

千问 | 2009-4-14 17:36:39 | 显示全部楼层
这个看你后面的操作了, 数据结构本身不说明任何问题, 他的性质取决于对应的操作。 如果你的 rawdata总是指向一个单独malloc出来的地方那就不会互相影响。如果你都指向一个公共缓冲那肯定互相影响。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行