指向結構體變數的指標。

2021-05-24 15:55:25 字數 806 閱讀 5022

這兩天調程式,在指向結構體變數指標這一塊還有&運算子搞得不是很明白,下面是那段程式仔細研究一下。

typedef struct _usb_down_packet  //下傳的資料報結構,用於命令/寫資料

u;uint8 mlength;     /* 下面的緩衝區的長度,讀寫操作的位元組數 */

uint8 mbuffer[ max_data_size ]; /* 資料緩衝區 */

} usb_down_pkt;

typedef struct _usb_up_packet   //上傳的資料報結構,用於狀態/讀資料

usb_up_pkt;

typedef union _usb_data_packet 上傳或者下傳資料緩衝區,利用乙個共用體把上傳和下傳的資料緩衝區放在同乙個儲存空間裡,這樣比較節省儲存空間。

usb_data_pkt;

unsigned char *buf;

#define pudp  ( (usb_data_pkt *)&buf )

尤其是對這個預定義的強制型別轉換不是很明白,在這裡是吧buf進行強制型別轉換,轉換為指向usb_data_pkt型別的指標並指向buf。

還有如下面型別的結構體定義,

//宣告結構體型別student

{ int num;

char ***;

float score;

struct student stu;

//定義student型別的變數stu

struct student *p=&stu;

//定義p為指向student型別資料的指標變數並指向stu

指向結構體變數的指標

定義 結構體變數的指標就是該變來那個所佔據的記憶體段的起始位址。可以設乙個指標變數,來指向乙個結構體變數,此時該指標變數的值是結構體變數的起始位址。設p是指向結構體變數的陣列,則可以通過以下的方式,呼叫指向的那個結構體中的成員 1 結構體變數.成員名。如,stu.num。2 p 成員名。如,p nu...

結構體變數和指向結構體變數的指標

目錄概念 記憶體分配 物件的引用 結構體變數和結構體指標變數作形參的區別 以結構體變數和結構體指標變數形參的函式呼叫 結構體變數是指將不同的資料型別整合成乙個有機的整體,以便於呼叫。struct student student stud1 stud1就是結構體變數結構體指標變數是指指向結構體變數的指...

C指向結構體變數的指標 結構指標變數

乙個指標變數當用來指向乙個結構體變數時,稱之為結構體指標變數。結構體指標變數中的值是所指向的結構變數的首位址。通過結構指標變數即可訪問該結構的變數。結構指標變數說明的一般形式如下 struct 結構名 結構指標變數名 結構名和結構變數時兩個不同的概念,不能混淆。結構名只能表示乙個結構形式,編譯系統並...