天天看點

指向結構體的指針&結構體成員指針1、指向結構體的指針2、指向結構體指針的另一種形式

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;
}





           
指向結構體的指針&amp;結構體成員指針1、指向結構體的指針2、指向結構體指針的另一種形式

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