C指向結構體變數的指標(結構指標變數)
阿新 • • 發佈:2019-01-07
一個指標變數當用來指向一個結構體變數時,稱之為結構體指標變數。結構體指標變數中的值是所指向的結構變數的首地址。通過結構指標變數即可訪問該結構的變數。
結構指標變數說明的一般形式如下:
struct 結構名 *結構指標變數名
結構名和結構變數時兩個不同的概念,不能混淆。結構名只能表示一個結構形式,編譯系統並不會對它分配記憶體空間。只有當某變數被說明為這種型別的結構時,才對該變數分配儲存空間。
有了結構指標變數,就能更方便地訪問結構變數的各個成員。其訪問的一般形式為:
(*結構指標變數).成員名
結構體指標變數->成員名
#include <stdio.h> #include <stdlib.h> int main() { struct Student { char cName[20]; int iNumber; char cSex; int iGrade; }student={"Girl",2017,'w',2}; struct Student *pStruct; pStruct = &student; printf("Name:%s\n",(*pStruct).cName); printf("Number:%d\n",pStruct->iNumber); printf("Sex:%c\n",student.cSex); }
通過上面的程式碼可見,以下三種用於結構成員的形式是完全等效的。
結構變數.成員名
(*結構指標變數).成員名
結構指標變數->成員名