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;
}
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc1TPB1UeBRUTzJ0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2LcRHelR3LcJzLctmch1mclRXY39zM5UTN1IjM4EzNxgDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
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