打印

结构数组的指针定义

[复制链接]
1125|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];

使用特权

评论回复
5
dingy|  楼主 | 2011-10-22 12:27 | 只看该作者
请问楼上,能否将指针定义说明一下

使用特权

评论回复
6
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;

使用特权

评论回复
7
TI佟掌柜| | 2011-10-28 09:19 | 只看该作者
这么牛X的语法用在笙泉将大大增加其功效啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

745

主题

10920

帖子

6

粉丝