這兩天調程式,在指向結構體變數指標這一塊還有&運算子搞得不是很明白,下面是那段程式仔細研究一下。
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 結構名 結構指標變數名 結構名和結構變數時兩個不同的概念,不能混淆。結構名只能表示乙個結構形式,編譯系統並...