结构数组的指针定义

[复制链接]
2344|6
 楼主| dingy 发表于 2011-10-22 12:13 | 显示全部楼层 |阅读模式
unsigned char data *PTest ;
struct
{
unsigned char AlarmNum;     

unsigned char AlarmStatus;    /*告警状态  0:正常*/

unsigned char AlarmTable;     /*告警表下标*/
unsigned char StartTime[6];    /*告警开始时间*/
unsigned char EndTime[6];     /*告警结束时间*/
unsigned char temp;
}HistoryAlarm[32];       /*每个记录16个字节*/

//pTest = (unsigned char)HistoryAlarm;

请教大家 HistoryAlarm 数组的指针怎样定义,才能是指针指向HistoryAlarm[0].AlarmNum的地址

pTest = (unsigned char)HistoryAlarm;   这样定义是否可行?  急急!
pengf 发表于 2011-10-22 12:17 | 显示全部楼层
结构数组还有点了解,再加个指针就不是很懂了
司徒老鹰 发表于 2011-10-22 12:20 | 显示全部楼层
pTest = (unsigned char   *   )HistoryAlarm
or
pTest = &HistoryAlarm[0].AlarmNum
llljh 发表于 2011-10-22 12:24 | 显示全部楼层
typedef struct
{
unsigned char AlarmNum;     

unsigned char AlarmStatus;    /*告警状态  0:正常*/

unsigned char AlarmTable;     /*告警表下标*/
unsigned char StartTime[6];    /*告警开始时间*/
unsigned char EndTime[6];     /*告警结束时间*/
unsigned char temp;
}THistoryAlarm;       /*每个记录16个字节*/
THistoryAlarm  HistoryAlarm[32];
 楼主| dingy 发表于 2011-10-22 12:27 | 显示全部楼层
请问楼上,能否将指针定义说明一下
zwll 发表于 2011-10-22 12:31 | 显示全部楼层
unsigned char data *PTest ;
struct
{
unsigned char AlarmNum;     

unsigned char AlarmStatus;    /*告警状态  0:正常*/

unsigned char AlarmTable;     /*告警表下标*/
unsigned char StartTime[6];    /*告警开始时间*/
unsigned char EndTime[6];     /*告警结束时间*/
unsigned char temp;
}HistoryAlarm[32],*pHistoryAlarm;       /*每个记录16个字节*/

pHistoryAlarm = HistoryAlarm;
PTest = &pHistoryAlarm->AlarmNum;
// 由于AlarmNum是结构体的第一个元素,下面这样写也是可以的
PTest = (unsigned char*)pHistoryAlarm;
TI佟掌柜 发表于 2011-10-28 09:19 | 显示全部楼层
这么牛X的语法用在笙泉将大大增加其功效啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

745

主题

10920

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部