1、指向结构体的指针
一个 变量的指针,就是该变量所占据的内存段的起始地址。指向一个结构体的指针变量,其值是结构体变量的起始地址。
/*
*copyright(c) 2018,HH
*All rights reserved.
*作 者:HH
*完成日期:2018年8月17日
*版本号:v1.0
*
*问题描述:指向结构体变量的指针的应用
*输入描述:;
*程序输出:
*/
#include <stdio.h>
#include <string.h>
struct student
{
int num;
char name[12];
char sex;
float score;
};
int main()
{
struct student stu;
stu.num=1001;
strcpy(stu.name,"Ma Yun");
stu.sex='F';
stu.score=66.6;
struct student *p=&stu;//定义了指向该结构体变量的指针
printf("%d %s %c %f\n",stu.num,stu.num,stu.sex,stu.score);
printf("%d %s %c %f\n",(*p).num,(*p).name,(*p).sex,(*p).score);
printf("%d %s %c %f\n",p->num,p->name,p->sex,p->score);
return 0;
}
2、指向结构体指针的另一种形式
例如:tRecordWave *pWave;//此种方法,就等价于*pWave=&tRecordWave
typedef struct
{
uChar state; //本条录波状态,RCD_STATE_IDLE等值
tRecordHead head; //头信息
uShort nextSmpIndex; //下一个要记录的采样点的序号
uShort recordedNum; //已记录的点数,当此值达到要求的录波点数时,录波完成
BIT32 waveDig[RCD_POINT_NUM]; //开入量和信号量录波数据
short waveAI[RCD_POINT_NUM][4+RCD_MAX_AI_NUM+2];//模拟量录波数据
}tRecordWave;
tRecordWave *pWave;//此种方法,就等价于*pWave=&tRecordWave