c語言 結構體 指標變數

2021-06-03 06:58:21 字數 803 閱讀 2318

typedef struct treet

treet, *ptreet;

int main(int argc, char *argv)

ptreet bt_insert(elemtype target, ptreet* pptree)

}static ptreet bt_makenode(elemtype target)

定義乙個treet的結構體變數,ptreet是乙個指向treet的指標型別,main函式中 ptreet root = null 定義了乙個指向結構變數的指標,型別為ptreet,名字叫root,如圖1。初值為null,然後ptreet* a定義了乙個 指向結構體指標的指標,名字為a ,把root位址的值賦給a 如圖2。執行bt_insert(rand() % base,a);,與執行bt_insert(rand() % base,&root);效果是一樣的,函式ptreet bt_insert(elemtype target, ptreet* pptree)傳入引數,第乙個為elemtype型別,第二個為 ptreet* ,ptreet本來就是指標型別, ptreet* 為指向指標的指標,即是儲存 ptreet位址的變數 名稱為pptree, 返回型別是 ptreet型別 。bt_insert函式中定義了乙個ptreet 型別變數node 執行 node = *pptree;後,node指向了root 此時,node 值為null , if (null == node)判斷後, 呼叫 bt_makenode 函式,  bt_makenode 返回乙個 ptreet 型別的變數 pnode,

最後記憶體中結果圖示為(4) (純屬個人見解,有錯請指出o(∩_∩)o )

C語言結構體變數和結構體變數的指標作函式引數例題

將n個學生的資料表示為結構體變數,內含學生學號 姓名和三門課的成績。要求輸出平均成績最高的學生的資訊 包括學號 姓名 3門課成績和平均成績 解題思路 將n個學生的資料表示為結構體陣列 有n個元素 按照功能函式化的思想,分別用3個函式來實現不同的功能 1 用input函式來輸入資料和求各學生的平均成績...

結構體指標,C語言結構體指標詳解

結構體指標,可細分為指向結構體變數的指標和指向結構體陣列的指標。前面我們通過 結構體變數名.成員名 的方式引用結構體變數中的成員,除了這種方法之外還可以使用指標。前面講過,student1 表示結構體變數 student1 的首位址,即 student1 第乙個項的位址。如果定義乙個指標變數 p 指...

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

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